----- Original Message -----
From: "Marcelo Fernández" <[EMAIL PROTECTED]>
To: "Raúl Andrés Duque Murillo" <[EMAIL PROTECTED]>
Sent: Thursday, August 14, 2008 6:52 AM
Subject: Re: [pgsql-es-ayuda] Seleccionar último registro entre un grupo
Raúl Andrés Duque Murillo escribió:
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
Hola Raul, creo que esto creo te puede servir:
http://www.postgresonline.com/journal/index.php?/archives/68-More-Aggregate-Fun-Whos-on-First-and-Whos-on-Last.html#extended
Excelente Marcelo !!!!
Muchas Gracias.
RAUL DUQUE
Bogotá, Colombia
Saludos,
Marcelo
--
Marcelo F. Fernández
Buenos Aires, Argentina
Licenciado en Sistemas - CCNA
E-Mail: [EMAIL PROTECTED]
Jabber ID: [EMAIL PROTECTED]
Public Key ID: 5C990A6C 111C3661
Blog: http://marcelosoft.blogspot.com
--
TIP 5: ¿Has leído nuestro extenso FAQ?
http://www.postgresql.org/docs/faqs.FAQ.html