Ir para conteúdo

POWERED BY:

Arquivado

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

Luigi Roza

SELECT com MAX() com valores diferentes

Recommended Posts

Olá Pessoal do Imasters.

 

Estou com uma dúvida que há mais de um mês estou tentando resolver.

Tenho a seguinte tabela em um Banco de Dados:

 

ID_HIST NAME CHANGE_DATE
1 Liberty 01/out/12
2 Triple 5 02/abr/13
3 Triple 5 08/nov/12
7 Montecristo 08/nov/12
8 Rocktemp 01/fev/12
14 Lancar 16/abr/12
365 Veks 15/dez/12
9 Veks 21/ago/12

 

Preciso fazer uma consulta retornando apenas as datas mais recentes (MAX) de cada Fundo (NAME) e que mostre o ID_HIST de cada linha retornada. Resumindo, o resultado esperado é:

 

ID_HIST NAME CHANGE_DATE
1 Liberty 01/out/12
2 Triple 5 02/abr/13
7 Montecristo 08/nov/12
8 Rocktemp 01/fev/12
14 Lancar 16/abr/12
365 Veks 15/dez/12

 

Utilizando a função tradicional MAX(CHANGE_DATE) e GROUP BY, me retorna todos os valores. Não sei o que fazer.

 

Alguém poderia me ajudar com isso, por favor? Preciso disso para aplicar na empresa que eu trabalho.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que "desempata" é o name.

select * 
from tabela t1
where CHANGE_DATE = (select max(CHANGE_DATE)
                     from tabela t2
                     where t2.name = t1.name)

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.