Re: Seleccionar último registro entre un grupo

From: Javier Chávez B(dot) <jchavezb(at)gmail(dot)com>
To: Raúl Andrés Duque Murillo <ra_duque(at)yahoo(dot)com(dot)mx>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Seleccionar último registro entre un grupo
Date: 2008-08-14 11:20:38
Message-ID: ded64bba0808140420r2d5067e6qa756a3a874fa493a@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2008/8/14 Raúl Andrés Duque Murillo <ra_duque(at)yahoo(dot)com(dot)mx>:
> Cordial saludos compañeros. Tengo el siguiente problema y aunque lo he
> solucionado se me hace bastante pesado para la cantidad de registros que
> tengo, por lo cual quisiera saber si a alguien se le ocurre una mejor
> alternativa o algún artificio útil:
>
> Tengo una tabla más o menos así:
>
> id_parte anno mes valor
> 1 2005 1 5
> 1 2005 2 10
> 2 2008 5 20
> 2 2008 6 30
> 3 2008 4 40
>
> Lo que quiero es obtener el último valor (Anno/Mes) por cada parte. Para el
> ejemplo: la salida sería:
>
> id_parte anno mes valor
> 1 2005 2 10
> 2 2008 6 30
> 3 2008 4 40
>
> Por ahora lo que hago es algo de este estilo:
>
> SELECT tabla.id_parte, tabla.anno, tabla.mes, tabla.valor
> FROM (
> SELECT tabla.id_parte, MAX(tabla.anno*100 + tabla.mes)
> AS AnnoMes
> FROM tabla
> GROUP BY tabla.id_parte
> ) maxtabla INNER JOIN tabla ON tabla.id_parte =
> maxtabla.id_parte AND AnnoMes = (tabla.anno*100 + tabla.mes)
>
> Atentamente,
>
> RAUL DUQUE
> Bogotá, Colombia

Raul:

La semana pasada alguien tenia un problema similar, quiza si ves en el
historico de la lista te puede dar un indicio...

Slds.

----------------------
Slds.
jchavez
linux User #397972 on http://counter.li.org/

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2008-08-14 14:25:53 Re: Seleccionar último registro entre un grupo
Previous Message Raúl Andrés Duque Murillo 2008-08-14 11:04:01 Seleccionar último registro entre un grupo