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

Kléber Caneva kdcc em terra.com.br
Qua Nov 23 09:58:19 -03 2005


Talvez você devesse rever a tabela e dividir em duas: PILOTOS e CORRIDAS.

Mas no seu caso você pode usar assim:
Select
    PILOTO, NASCIMENTO, DATA_CORRIDA, PONTOS
From
   COM
Where DATA_CORRIDA = (Select MAX(a.DATA_CORRIDA) From COM)
Order By PONTOS

Mas ainda aconselho você rever sua normalização.

[]´s

Kléber Caneva


----- Original Message ----- 
From: "Luiz Carlos" <luizdba em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Tuesday, November 22, 2005 5:42 PM
Subject: Re: [firebase-br] COMO SELECIONAR, DENTRE REGISTROS IGUAIS, O DE 
MAIOR DATA?


> 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
>
> ______________________________________________
> 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
>
> E-mail classificado pelo Identificador de Spam Inteligente Terra.
> Para alterar a categoria classificada, visite
> http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=kdcc&_l=1,1132689588.289752.22134.lusaca.terra.com.br,5361,Des15,Des15
>
> Esta mensagem foi verificada pelo E-mail Protegido Terra.
> Scan engine: McAfee VirusScan / Atualizado em 22/11/2005 / Versão: 
> 4.4.00/4634
> Proteja o seu e-mail Terra: http://mail.terra.com.br/
>
> 






Mais detalhes sobre a lista de discussão lista