mmm se me ocurre algo así...
sirve? probalo
select
(select count(*)
from historico b
where b.ref = a.ref and b.oper>=a.oper) cantidad,
oper,
ref,
fecha
from
historico a
where cantidad between 1 and 3
order by ref, oper desc
Saludos
~~~~~~~~~~~~~~~~
Guillermo Villanueva
El 5 de enero de 2011 11:35, Dorian Kuroki <[email protected]> escribió:
> Creo que deberias orientar la solucion a una funcioncon con el uso de
> un cursor .
> sin window functions , no vas a poder resolverlo en un solo statement
>
> Dorian
>
> 2011/1/4 Crispin T. <[email protected]>:
> >
> >> select *
> >> from referencia
> >> order by fecha desc, nroreferencia desc
> >> limit 3
> >
> > no, esa solucion devolveria solo 3 tuplas y segun su consulta deveria
> > devolver 3 tuplas por id como maximo haciendose muchas tuplas en la tabla
> > resultante. talves utilizando para la consulta un group by por referencia
> y
> > haciendo un having para garantizar 3 tuplas... pero no creo que sea la
> > solucion mas eficiente.
> >
> >
> > --
> > Solo alcanzaras el conocimiento conociendo la ignorancia.
> >
> >
> -
> Enviado a la lista de correo pgsql-es-ayuda ([email protected]
> )
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>