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

Luiz Carlos Da Silva Soares luizdba em gmail.com
Qua Nov 23 19:46:51 -03 2005


então cara...., o group by com o select max vai trazer somente uma
linha com o máximo de pontos o nome do
piloto a pontuação e a data ultima corrida (campo que tá no max) o
group by é apenas para diferenciar os campos que estão fora da função
de agregação!

Abraços!

Luiz Carlos da Silva Soares.



Em 24/11/05, Michel Sugimoto<michelsugimoto em yahoo.com.br> escreveu:
> 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
> >
>
>
> ______________________________________________
> 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