Re: group by can use alias from select list

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>, postgres-hape(at)gmx(dot)de, pgsql-docs(at)lists(dot)postgresql(dot)org
Subject: Re: group by can use alias from select list
Date: 2023-09-07 14:11:00
Message-ID: ZPnZ9ILOZcWaqoY0@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

On Wed, Sep 6, 2023 at 08:01:30PM -0400, Tom Lane wrote:
> Bruce Momjian <bruce(at)momjian(dot)us> writes:
> > On Tue, Jul 11, 2023 at 07:31:26AM -0700, David G. Johnston wrote:
> >> I think the complaint is that someone seeing the behavior in the wild comes to
> >> this order-of-operations and doesn't see that the observed behavior is
> >> documented.
>
> > How is the attached patch?
>
> Maybe better "Although query output columns are nominally computed in the
> next step, they can also be referenced (by name or by ordinal number)
> as <literal>GROUP BY</literal> elements".

I modified the text slightly in the attached patch.

> You could go further and add "Such references cannot be parts of
> <literal>GROUP BY</literal> expressions, however." Not sure if we
> cover that explicitly anywhere else.

We do farther down the docs in the GROUP BY section:

https://www.postgresql.org/docs/devel/sql-select.html

GROUP BY will condense into a single row all selected rows that share
the same values for the grouped expressions. An expression used inside a
grouping_element can be an input column name, or the name or ordinal
number of an output column (SELECT list item), or an arbitrary
expression formed from input-column values. In case of ambiguity, a
------------------------
GROUP BY name will be interpreted as an input-column name rather than an
output column name.

It says

* input column name
* output column name or ordinal number
* expression formed from input-column values

Is this too subtle?

--
Bruce Momjian <bruce(at)momjian(dot)us> https://momjian.us
EDB https://enterprisedb.com

Only you can decide what is important to you.

Attachment Content-Type Size
group-by.diff text/x-diff 766 bytes

In response to

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Bruce Momjian 2023-09-07 18:21:43 Re: pg_class.relpages documentation does not mention relpages corner case
Previous Message Tom Lane 2023-09-07 00:01:30 Re: group by can use alias from select list