From: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
---|---|
To: | Pantelis Theodosiou <ypercube(at)gmail(dot)com> |
Cc: | Vik Fearing <vik(at)postgresfriends(dot)org>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: ANY_VALUE aggregate |
Date: | 2022-12-07 13:36:04 |
Message-ID: | CAKFQuwb-QNgeup6LFBzyqfxM1fJG77HkoOPudSGrk8+pOser3w@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Dec 7, 2022 at 1:58 AM Pantelis Theodosiou <ypercube(at)gmail(dot)com>
wrote:
> On Tue, Dec 6, 2022 at 4:57 AM David G. Johnston
> <david(dot)g(dot)johnston(at)gmail(dot)com> wrote:
> ...
> >
> >
> > I'm referring to the query:
> >
> > select any_value(v order by v) from (values (2),(1),(3)) as vals (v);
> > // produces 1, per the documented implementation-defined behavior.
> >
> > Someone writing:
> >
> > select any_value(v) from (values (2),(1),(3)) as vals (v) order by v;
> >
> > Is not presently, nor am I saying, promised the value 1.
> >
>
> Shouldn't the 2nd query be producing an error, as it has an implied
> GROUP BY () - so column v cannot appear (unless aggregated) in SELECT
> and ORDER BY?
>
Right, that should be written as:
select any_value(v) from (values (2),(1),(3) order by 1) as vals (v);
(you said SELECT; the discussion here is that any_value is going to be
added as a new aggregate function)
David J.
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Dunstan | 2022-12-07 13:47:37 | Re: Error-safe user functions |
Previous Message | Alexander Korotkov | 2022-12-07 13:36:02 | Re: Allow placeholders in ALTER ROLE w/o superuser |