Re: Proposal: QUALIFY clause - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Proposal: QUALIFY clause
Date
Msg-id 881159.1753161260@sss.pgh.pa.us
Whole thread Raw
In response to Re: Proposal: QUALIFY clause  (Nico Williams <nico@cryptonector.com>)
List pgsql-hackers
Nico Williams <nico@cryptonector.com> writes:
> On Mon, Jul 21, 2025 at 09:43:15PM -0600, Merlin Moncure wrote:
>> Hm, HAVING requires to apply 'group by' which windows functions do not
>> require (unlike aggregates).

> Pavel's point is precisely to allow HAVING w/o a GROUP BY when there are
> window functions since window functions are "+/-" ("more or less")
> aggregate functions.  That makes sense to me.

No, it's really quite wrong.  Aggregate functions are not equivalent
to window functions: if you have both in a query, they execute in
separate passes, with the window functions operating on the grouped
rows output by the aggregation step (and then filtered by HAVING,
if any).

If we're going to support this, it does need to be its own clause.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Merlin Moncure
Date:
Subject: Re: Proposal: QUALIFY clause
Next
From: Fujii Masao
Date:
Subject: Re: Log prefix missing for subscriber log messages received from publisher