[firebase-br] COMO SELECIONAR, DENTRE REGISTROS IGUAIS, O DE MAIOR DATA?

Luiz Carlos luizdba em gmail.com
Ter Nov 22 17:42:48 -03 2005


Michel Sugimoto wrote:

> Pessoas,
>
> eu tenho uma tabela, que contem campos duplicados, exceto por um campo 
> data. exemplo (COM tabela ficticia):
>
> TABELA_PILOTO:
> PILOTO VARCHAR(30),
> NASCIMENTO DATE,
> DATA_CORRIDA DATE,
> PONTOS_GANHOS INTEGER;  // PONTOS GANHOS NA CORRIDA
>
> onde eu tenho varios registros com PILOTO e NASCIMENTO (dados que nao 
> mudam) repetindo, e a DATA_CORRIDA nao repete.
>
> Pois bem, preciso de um select em que retorne dentre todas as corridas 
> de um piloto, somente o nome do piloto, o nascimento e a data da 
> ultima corrida. Por exemplo:
>
> PILOTO            NASCIMENTO    DATA_CORRIDA    PONTOS_GANHOS
>
> Michael schummi        10/10/1970    01/02/2005    8
> Michael schummi        10/10/1970    01/04/2005    10
> Michael schummi        10/10/1970    01/06/2005    1
> Michael schummi        10/10/1970    01/08/2005    5
> Michael schummi        10/10/1970    01/10/2005    3
> Michael schummi        10/10/1970    01/12/2005    6
>
> o select me retornaria apenas o ultimo registro. Minha base nao esta 
> ordenada pela "data da corrida". Na verdade, quero o ultimo registro 
> pois vou usar o ultimo ponto ganho...
>
> Por group by nao da, pq se agrupar por piloto e nascimento, teria que 
> pegar a media dos pontos ganhos... e nao eh isso de que eu preciso.
>
> []s, t+
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço 
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Tente isso:

Select piloto,nascimento, max(data_corrida)  ultima_corrida from piloto 
group by piloto,nascimento;

Espero ter Ajudado!

Luiz Carlos da Silva Soares




Mais detalhes sobre a lista de discussão lista