From: | Oswaldo Hernández <listas(at)soft-com(dot)es> |
---|---|
To: | Lista Postgres <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | SQL: 3 ultimas filas de cada referencia |
Date: | 2011-01-04 18:04:13 |
Message-ID: | 4D23611D.1090800@soft-com.es |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola y feliz año a todos,
Creo que esto ya salio en la lista pero no consigo dar con ello.
Tengo una tabla histórica donde guardo las todas operaciones de cada
referencia y no consigo dar con un sql, mas o menos optimizado, que
devuelva las 3 ultimas filas de cada referencia en orden de fecha.
La estructura simplificada vendría a ser:
Historico
Operacion Referencia Fecha
--------------------------------
1 A1 15/12/2009
2 A1 20/12/2009
3 A1 30/05/2010
4 A1 06/06/2010
5 A1 12/08/2010
6 A1 20/08/2010
7 B2 11/12/2009
8 B2 20/05/2010
9 B2 30/06/2010
10 B2 15/09/2010
11 C3 12/02/2010
......
El resultado que desearía obtener es:
Operacion Referencia Fecha
--------------------------------
6 A1 20/08/2010
5 A1 12/08/2010
4 A1 06/06/2010
10 B2 15/09/2010
9 B2 30/06/2010
8 B2 20/05/2010
11 C3 12/02/2010
Para obtener solo la ultima fila de cada referencia utilizo una receta
de la lista que funciona muy bien:
select distinc on (referencia) operacion, referencia, fecha
from historico
order by referencia, fecha desc.
Pero en este caso de 3 por referencia no doy con la forma de hacerlo
bien en un SQL sin utilizar funciones.
Agradecería cualquier ayuda.
--
Oswaldo Hernández
From | Date | Subject | |
---|---|---|---|
Next Message | Oswaldo Hernández | 2011-01-04 18:14:53 | Re: SQL: 3 ultimas filas de cada referencia |
Previous Message | Vladimir Damian | 2011-01-04 16:06:28 | Backups Acotados |