Re: [PATCH] GROUP BY ALL

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, David Christensen <david(at)pgguru(dot)net>, Jelte Fennema-Nio <postgres(at)jeltef(dot)nl>
Subject: Re: [PATCH] GROUP BY ALL
Date: 2025-09-26 07:02:08
Message-ID: 634aca95-6db5-4beb-b18d-67e65582817f@eisentraut.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 17.08.25 19:12, Jelte Fennema-Nio wrote:
> On Tue, 23 Jul 2024 at 22:02, Peter Eisentraut <peter(at)eisentraut(dot)org> wrote:
>> Looks like the main existing implementations take it to mean all entries
>> in the SELECT list that are not aggregate functions.
>>
>> https://duckdb.org/docs/sql/query_syntax/groupby.html#group-by-all
>> https://docs.databricks.com/en/sql/language-manual/sql-ref-syntax-qry-select-groupby.html#parameters
>> https://docs.snowflake.com/en/sql-reference/constructs/group-by#parameters
>
> Oracle added support for GROUP BY ALL too now:
> https://danischnider.wordpress.com/2025/08/05/oracle-23-9-supports-group-by-all/

The proposal for GROUP BY ALL was accepted into the SQL standard draft
yesterday. So maybe someone wants to take this up again.

The initially proposed patch appears to have the right idea overall.
But it does not handle more complex cases like

SELECT a, SUM(b)+a FROM t1 GROUP BY ALL;

correctly. The piece of code that does

if (!IsA(n->expr,Aggref))

should be generalized to check for aggregates not only at the top level.

(For explanation: GROUP BY ALL expands to all select list entries that
do not contain aggregates. So the above would expand to

SELECT a, SUM(b)+a FROM t1 GROUP BY a;

which should then be rejected based on the existing rules.)

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message vignesh C 2025-09-26 07:25:27 Re: Logical Replication of sequences
Previous Message Ashutosh Sharma 2025-09-26 07:00:19 Re: issue with synchronized_standby_slots