Re: FIRST_VALUE: need to group by argument?

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Manuel Gómez <targen(at)gmail(dot)com>
Cc: Guyren Howe <guyren(at)gmail(dot)com>, PostgreSQL <pgsql-general(at)postgresql(dot)org>
Subject: Re: FIRST_VALUE: need to group by argument?
Date: 2016-05-24 16:17:38
Message-ID: CAKFQuwbDEFNNc2C8V3+AihcfqPLB7_cDbQS+WAK8uDiT39MMnA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, May 24, 2016 at 12:12 PM, Manuel Gómez <targen(at)gmail(dot)com> wrote:

> On Tue, May 24, 2016 at 8:50 AM, David G. Johnston
> <david(dot)g(dot)johnston(at)gmail(dot)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.​

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Gavin Flower 2016-05-24 20:16:27 Re: Members in the Middle East?
Previous Message Tom Lane 2016-05-24 16:17:21 Re: pg_upgrade error regarding hstore operator