Busca maior valor para cada registro - SQL

SQL Server

SQL

26/05/2020

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

Curtidas 0

Melhor post

Gustavo Mendes

Gustavo Mendes

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.
GOSTEI 1

Mais Respostas

Emerson Nascimento

Emerson Nascimento

26/05/2020

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

GOSTEI 1
Luciano

Luciano

26/05/2020

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


Obrigado amigo, funcionou perfeitamente!
GOSTEI 0
POSTAR