Fórum Ajuda em SQL #287714
12/07/2005
0
Uso MySQL e estou com dificuldades para criar um Select. Vou expor meu problema:
tabela1
nome datahora quantidade
Quero que minha Query retorne os registros máximos de cada dia.
Oque consegui foi:
SELECT DATE_FORMAT(DATAHORA, ´¬Y-¬m-¬d´) AS DIA, DATE_FORMAT(DATAHORA, ´¬Y-¬m-¬d ¬H:¬i:¬S´) AS DATAHORA, MAX(QUANTIDADE)
FROM TABELA1
WHERE NOME = ´CARLOS´
GROUP BY DIA
Acontece que o resultado me traz a quantidade máxima mas a datahora não é a datahora do registro máximo. A datahora é sempre do 1º registro do dia.
Exemplo de resultado:
dia datahora quantidade
12/07/2005 12/07/2005 00:00:00 1000
** Mas essa quantidade 1000 pertence às 12/07/2005 13:00:00.
Exemplo de resultado esperado:
dia datahora quantidade
12/07/2005 12/07/2005 13:00:00 1000
Alguem sabe como construo uma Query para obter oque eu desejo como resultado?
Obrigado,
Pablo
Pablobr
Curtir tópico
+ 0Posts
12/07/2005
Márcio
SELECT DATE_FORMAT(DATAHORA, ´¬Y-¬m-¬d´) AS DIA, DATE_FORMAT(DATAHORA, ´¬Y-¬m-¬d ¬H:¬i:¬S´) AS DATAHORA, MAX(QUANTIDADE)
FROM TABELA1
WHERE NOME = ´CARLOS´
GROUP BY DIA, DATAHORA
Gostei + 0
12/07/2005
Beppe
SELECT DATE_FORMAT(DATAHORA, ´¬Y-¬m-¬d´) AS DIA, DATE_FORMAT(DATAHORA, ´¬Y-¬m-¬d ¬H:¬i:¬S´) AS DATAHORA, MAX(QUANTIDADE)
FROM TABELA1
WHERE NOME = ´CARLOS´ AND QUANTIDADE = MAX(QUANTIDADE)
GROUP BY DIA
Gostei + 0
12/07/2005
Pablobr
Alguem mais tem alguma idéia?
Obrigado,
Pablo
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)