Re: Detecting change in event properties

From: Robert James <srobertjames(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Postgres General <pgsql-general(at)postgresql(dot)org>
Subject: Re: Detecting change in event properties
Date: 2013-10-25 18:10:43
Message-ID: CAGYyBggXoWAdSdz_uhpz3WaOkB7N6fwnz-8zau59-P0Uo3D7YA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 10/25/13, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Robert James <srobertjames(at)gmail(dot)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?

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Pavel Stehule 2013-10-25 18:13:43 Re: Detecting change in event properties
Previous Message David Johnston 2013-10-25 17:56:37 Re: Window functions and relational algebra