Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

pedro_kampos

Erro de listagem

Recommended Posts

Opa pessoal, tenho uma tabela que armazena as visualizações de cada produto de minha loja por dia.

Daí eu estou fazendo um relatório para exibir na minha area administrativa e consequentemente resolvi criar um filtro por tempo(semestre, mês, semana, hoje).

 

Minha tabela possui as seguintes colunas: id / id_produto / ip / data / clicks

 

utilizo o seguinte código para AGRUPAR os "id_produto" repetidos e SOMAR a coluna clicks.

 

SELECT id_produto,SUM(clicks) AS totalidade 
FROM conta_click_produtos_visitantes GROUP BY id_produto ORDER BY totalidade DESC 

e agora quero que, por exemplo ele exiba apenas os produtos visualizados HOJE, no caso utilizei a funcão TO_DAYS():
SELECT id_produto,SUM(clicks) AS totalidade , (TO_DAYS( CURDATE( ) ) - TO_DAYS( data )) AS tempo 
FROM conta_click_produtos_visitantes GROUP BY id_produto  HAVING tempo <= 0 ORDER BY totalidade DESC
Só que não está funcionando como eu quero, ele não está obedecendo corretamente a condicão HAVING e não está isolando a coluna "tempo" corretamente.
eu quero que ele isole somente os que tem a coluna tempo = valor que eu desejar e que depois agrupe os repetidos e some a coluna clicks.
Alguem dá uma luz?
Agradeço desde já :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Having é para condição de agregados, tentou no WHERE ?!

Compartilhar este post


Link para o post
Compartilhar em outros sites
SELECT id_produto,SUM(clicks) AS totalidade , (TO_DAYS( CURDATE( ) ) - TO_DAYS( data )) AS tempo  
FROM conta_click_produtos_visitantes 
WHERE ((TO_DAYS( CURDATE( ) ) - TO_DAYS( data )) <= 0) 
GROUP BY id_produto 
ORDER BY totalidade DESC

 

 




			
		

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.