[firebase-br] COMO SELECIONAR, DENTRE REGISTROS IGUAIS, O DE MAIOR DATA?
Michel Sugimoto
michelsugimoto em yahoo.com.br
Qui Nov 24 14:09:35 -03 2005
Valeu pela dica Kleber,
mas a normalizacao ficou meio inviavel pq tenho 2 estruturas distintas
de hierarquias para os mesmos dados...
[]s, t+
Kléber Caneva wrote:
> 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/
>>
>>
>
>
>
> ______________________________________________
> 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
>
Mais detalhes sobre a lista de discussão lista