Re: Documentation, window functions

From: Dennis Björklund <db(at)zigo(dot)dhs(dot)org>
To: "Robert Haas" <robertmhaas(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Documentation, window functions
Date: 2010-09-24 03:34:28
Message-ID: 2a28107e5b0a169b89031043a5b3e326.squirrel@zigo.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On Wed, Sep 22, 2010 at 6:03 AM, Dennis Björklund <db(at)zigo(dot)dhs(dot)org> wrote:
> But I confess that I'm sort of murky on how ORDER affects the window
> frame, or how to rephrase this more sensibly.

The rows included in the calculation of the window function are per default

RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW

where CURRENT ROW include all the rows that are equal to the row you are
at according to the ordering. So if you say order by name then all the
rows up to your name and all rows with the same name are included, not
later rows.

If you don't have any ordering, then all rows are "equal" and all rows are
included in the computation. That's why your example behaved like it did.

At least that's my understanding of how these things work. I've not used
window functions very much myself.

This is fairly difficult stuff and it probably don't belong in a tutorial
but the current wording suggest that you can add any ordering and it won't
affect the result. That is also a bad since it might teach people the
wrong thing.

/Dennis

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2010-09-24 03:42:41 Re: security label support, revised
Previous Message Itagaki Takahiro 2010-09-24 03:26:06 Re: patch: SQL/MED(FDW) DDL