----- Original Message ----- From: "Javier Chávez B." <[EMAIL PROTECTED]>
To: "Raúl Andrés Duque Murillo" <[EMAIL PROTECTED]>
Cc: <pgsql-es-ayuda@postgresql.org>
Sent: Thursday, August 14, 2008 6:20 AM
Subject: Re: [pgsql-es-ayuda] Seleccionar último registro entre un grupo


2008/8/14 Raúl Andrés Duque Murillo <[EMAIL PROTECTED]>:
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.


Gracias Javier ... recuerdas bajo qué subject estaba?

Atentamente,

RAUL DUQUE
Bogotá, Colombia

----------------------
Slds.
jchavez
linux User #397972 on http://counter.li.org/
--
TIP 1: para suscribirte y desuscribirte, visita 
http://archives.postgresql.org/pgsql-es-ayuda

Responder a