On 20/10/2012 17:23, Tom Lane wrote:
> Chris Angelico <ros...@gmail.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
r...@iol.ie


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to