Re: FIRST_VALUE: need to group by argument? - Mailing list pgsql-general

From David G. Johnston
Subject Re: FIRST_VALUE: need to group by argument?
Date
Msg-id CAKFQuwbDEFNNc2C8V3+AihcfqPLB7_cDbQS+WAK8uDiT39MMnA@mail.gmail.com
Whole thread Raw
In response to Re: FIRST_VALUE: need to group by argument?  (Manuel Gómez <targen@gmail.com>)
List pgsql-general
On Tue, May 24, 2016 at 12:12 PM, Manuel Gómez <targen@gmail.com> wrote:
On Tue, May 24, 2016 at 8:50 AM, David G. Johnston
<david.g.johnston@gmail.com> wrote:
> SELECT x, sum(i), sum(sum(i)) OVER (PARTITION BY x) FROM ( VALUES (a,1),
> (a,2), (b,3) ) val (x,i) GROUP BY x
> yields
> a, 3, 6
> b, 3, 6

Thank you for this enlightening explanation!  I was, however, very
confused from this specific bit, so I tested it and indeed there must
have been a typo:

postgres=# SELECT x, sum(i), sum(sum(i)) OVER (PARTITION BY x) FROM
(VALUES ('a', 1), ('a', 2), ('b', 3)) val (x,i) GROUP BY x;
 x | sum | sum
---+-----+-----
 a |   3 |   3
 b |   3 |   3
(2 rows)

​Yes, that was me being careless.  The partition in the window makes the sum(sum(i)) evaluate to 3

David J.​
 

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: pg_upgrade error regarding hstore operator
Next
From: Gavin Flower
Date:
Subject: Re: Members in the Middle East?