Busca maior valor para cada registro - SQL

26/05/2020

0

Srs,
Estou iniciando no SQL então me perdoem caso a dúvida seja muito básica.
Preciso fazer uma busca em duas colunas na minha tabela:
Coluna 1 = Identificador
Coluna 2 = Origem
Preciso mostrar a Origem mais atual para cada identificador

Ex. de dados da tabela:
Identificador X possui Origem 0013 e 0089
Identificador Y possui Origem 0189, 0345, 0893 e 0235

ao fazer o select, preciso que ele me traga:
Identificador X -> Origem 0089
Identificador Y -> Origem 0893

ao usar o select top ou select max, só consigo que ele traga a maior origem da tabela inteira, quando na verdade preciso que ele me traga para cada Identificador.
Obs.: O campo Origem é um varchar sequencial, logo, quanto maior mais atual.

Agradeço a ajuda
Luciano

Luciano

Responder

Post mais votado

26/05/2020

Olá, Luciano, tudo bem?
Vi seu questionamento e espero conseguir lhe ajudar.
Você foi no caminho certo, usando o "método" MAX(), mas o que na verdade faltou foram as condições.


Ex. de dados da tabela:
Identificador X possui Origem 0013 e 0089
Identificador Y possui Origem 0189, 0345, 0893 e 0235

ao fazer o select, preciso que ele me traga:
Identificador X -> Origem 0089
Identificador Y -> Origem 0893


Pense em resolver o problema separado e depois caso queira une eles com UNION ou Subquerys.

SELECT MAX(Origem) FROM identificador WHERE identificador = 'X';
SELECT MAX(Origem) FROM identificador WHERE identificador = 'Y';

Espero ter ajudado.

Gustavo Mendes

Gustavo Mendes
Responder

Mais Posts

26/05/2020

Emerson Nascimento

select identificador, max(origem) maior_origem
from tabela
group by identificador

Responder

27/05/2020

Luciano

select identificador, max(origem) maior_origem
from tabela
group by identificador


Obrigado amigo, funcionou perfeitamente!
Responder

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

Aceitar