Dúvidas com Função MAX SQL SERVER

17/12/2013

0

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?
Marcio Morando

Marcio Morando

Responder

Posts

17/12/2013

Isaac Jose

boa tarde vc deve estar colocando o mesmo campo que vc quer o max no agrupamento..
Responder

17/12/2013

Marcio Morando

Eu tirei, e mesmo assim ele ainda me traz três valores, não trazendo apenas o maior.
Responder

17/12/2013

Isaac Jose

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.
Responder

17/12/2013

Marcio Morando

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?
Responder

17/12/2013

Isaac Jose

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
Responder

17/12/2013

Marcio Morando

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.
Responder

17/12/2013

Isaac Jose

tem algum campo com valor diferente.
se esse campo datetime tiver minuto e segunto ja era.
Responder

17/12/2013

Marcio Morando

Pois é, os três trazem o mesmo horário 16/12/2013 17:54:43. Os três valores me trazem este horário.
Responder

17/12/2013

Isaac Jose

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
Responder

17/12/2013

Marcio Morando

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!
Responder

17/12/2013

Isaac Jose

Por nada Disponha!!!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar