Dúvidas com Função MAX SQL SERVER
Boa Tarde Pessoal,
Estou fazendo um select com a função MAX
SELECT MAX(campo), campo, campo, campo, campo, campo, campo
FROM tabela
INNER JOIN tabela ON campo = campo OR campo = campo OR campo = campo
WHERE tabela.campo LIKE '%informacao%'
GROUP BY campos do select
ORDER BY MAX(campo do select)
mas não está me trazendo o valor máximo e sim todos os valores.
O que pode estar errado?
Estou fazendo um select com a função MAX
SELECT MAX(campo), campo, campo, campo, campo, campo, campo
FROM tabela
INNER JOIN tabela ON campo = campo OR campo = campo OR campo = campo
WHERE tabela.campo LIKE '%informacao%'
GROUP BY campos do select
ORDER BY MAX(campo do select)
mas não está me trazendo o valor máximo e sim todos os valores.
O que pode estar errado?
Marcio Morando
Curtidas 0
Respostas
Isaac Jose
17/12/2013
boa tarde vc deve estar colocando o mesmo campo que vc quer o max no agrupamento..
GOSTEI 0
Marcio Morando
17/12/2013
Eu tirei, e mesmo assim ele ainda me traz três valores, não trazendo apenas o maior.
GOSTEI 0
Isaac Jose
17/12/2013
esses três campos não estão vindo por conta do relacionamento que vc esta fazendo com o or??
campo1 = campo2 or campo1 = campo3 or campo1 = campo 4?
tenta fazer um de cada vez pra conferir.
campo1 = campo2 or campo1 = campo3 or campo1 = campo 4?
tenta fazer um de cada vez pra conferir.
GOSTEI 0
Marcio Morando
17/12/2013
Não, os três vem do campo1=campo2. Tirei os outros dois relacionamentos fora, e mesmo assim vem os três campos e não o maior.
O que pode ser?
O que pode ser?
GOSTEI 0
Isaac Jose
17/12/2013
tem campo de data no meio com datas diferentes??
faz so o select max(campo) somente do campo que vc quer tira esse group by e order by e ve se ele ira trazer 3 campos
faz so o select max(campo) somente do campo que vc quer tira esse group by e order by e ve se ele ira trazer 3 campos
GOSTEI 0
Marcio Morando
17/12/2013
Fazendo somente o SELECT MAX ele traz corretamente. Somente quando coloco o Group By e order by que traz os três. Tem um campo DateTime, mas com datas iguais nos três resultados que o SELECT me traz.
GOSTEI 0
Isaac Jose
17/12/2013
tem algum campo com valor diferente.
se esse campo datetime tiver minuto e segunto ja era.
se esse campo datetime tiver minuto e segunto ja era.
GOSTEI 0
Marcio Morando
17/12/2013
Pois é, os três trazem o mesmo horário 16/12/2013 17:54:43. Os três valores me trazem este horário.
GOSTEI 0
Isaac Jose
17/12/2013
tenta com o campo max() e vai acrescentando campo a campo pra ver qual esta dando problema. qual quer coisa coloca o max no campo data
GOSTEI 0
Marcio Morando
17/12/2013
Resolvido. Fui acrescentando um a um a descobri que em dois campos ele trazia o mesmo valor mais de uma vez. Coloquei um HAVING para esses dois campos e deu certo.
ISAAC, muito Obrigado. Suas dicas me ajudaram muito. Valeu mesmo!
ISAAC, muito Obrigado. Suas dicas me ajudaram muito. Valeu mesmo!
GOSTEI 0
Isaac Jose
17/12/2013
Por nada Disponha!!!
GOSTEI 0