Re: obtain the difference between successive rows

From: Raymond O'Donnell <rod(at)iol(dot)ie>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Chris Angelico <rosuav(at)gmail(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: obtain the difference between successive rows
Date: 2012-10-20 16:29:24
Message-ID: 5082D164.4050109@iol.ie
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 20/10/2012 17:23, Tom Lane wrote:
> Chris Angelico <rosuav(at)gmail(dot)com> writes:
>> To be quite honest, I would simply read the table directly and then do
>> the processing in an application language :) But two window functions
>> should do the trick. Whether or not it's actually more efficient that
>> way is another question.
>
> FWIW, Postgres is reasonably smart about the case of multiple window
> functions with identical window definitions --- once you've got one
> lag() in the query, adding more isn't going to cost much.

Out of curiosity, would there be much difference between having multiple
lag()s in the SELECT and a single one in a CTE?

> Having said that, they are pretty expensive. I tend to agree that doing
> the processing on the application side might be faster --- but only if
> you've got a place to put such code there. If you've just got generic

True, assuming that you're working with a language that handles dates
well... I do a lot of PHP, and have found that it's generally safer to
handle date arithmetic in Postges.

Ray.

--
Raymond O'Donnell :: Galway :: Ireland
rod(at)iol(dot)ie

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Berend Tober 2012-10-20 16:35:55 Re: obtain the difference between successive rows
Previous Message Tom Lane 2012-10-20 16:23:34 Re: obtain the difference between successive rows