Ir para conteúdo

Arquivado

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

Rodrigo Alexsandro

Segundo maior valor + group by

Recommended Posts

Olá povo. Bom dia.

 

Tenho o seguinte problema:

 

Preciso selecionar o segundo maior registro de uma tabela agrupando registros:

 

Para o maior valor eu teria:

 

select max(campo1), campo2 from tabela group by campo2

 

Logo eu tenho o valor máximo do campo1 para cada registro do campo2.

 

O detalhe que eu também preciso do segundo maior campo1 de cada campo2.

 

Alguma sugestão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce poderia fazer um select from select

assim dentro do from, vc coloca pra pegar o group by limitando no segundo.

 

select a.valor, a.nome
 from (select max(valor) as valor, nome
             from tabela
          group by nome
             limit 2,1) a

tente alguma coisa nesse sentido...

 

espero que eu tenha ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Marcos.. vlw pela atenção.

 

Cara acredito que não funcione, afinal o select interno retornaria o maior valor para cada nome, descartando o primeiro valor retornado da lista. De modo que eu teria o maior valor do segundo nome da lista.

 

Eu preciso do segundo maior valor de cada nome da tabela por ex:

 

Nome  -  Valor
A        15
B        17
A        14
C        13
B        18
C        19  

o resultado esperado seria:

 

A 14

B 17

C 13



Relendo o que escrevi no post original realmente deu a entender que seria o segundo maior registro da tabela.. (como escrito)..

 

Na verdade preciso do segundo maior valor para cada registro de uma tabela. Como mostrei no post anterior

 

:)

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.