Hello
2013/10/25 Robert James <srobertja...@gmail.com> > On 10/25/13, Tom Lane <t...@sss.pgh.pa.us> wrote: > > Robert James <srobertja...@gmail.com> writes: > >>> (To elaborate, I'm interested in: > >>> * Finding field x of the _previous_ row > >>> * Finding field x of the _next_ row > >>> * Finding field x of the _previous_ row that meets a certain criteria > >>> (which the current row may or may not meet) > >>> ) > > > >> The first two are actually trivial - lag(field_x) over (order by [same > >> order as query]) and lead(...). > > > > Right. > > > >> But the last one seems ellusive - How can I find the value of field x > >> on the previous row WHERE a criteria is met? Is it possible to do this > >> at all with a window function? > > > > I don't see any way to achieve that with any of the built-in window > > functions, but I believe it could be done by a custom window function. > > Are you up for some C coding? > > Hmmm... certainly nothing I would trust on a production db. > > Is there a way to do it without C not using window functions? Perhaps > with some type of JOIN? > you can write a table function with inner loop cycle over cursor Regards Pavel > > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general >