Re: Kummulierte Summe über eine Aggregat Spalte?

From: Andreas Kretschmer <akretschmer(at)spamfence(dot)net>
To: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: Kummulierte Summe über eine Aggregat Spalte?
Date: 2015-12-20 15:27:12
Message-ID: 20151220152712.GA10226@tux
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Ulrich Goebel <ml(at)fam-goebel(dot)de> wrote:

> Hallo,
>
> ich habe eine Tabelle von Personen und möchte eine Statistik über die
> Alterstruktur haben, etwa
>
> select
> alter,
> count(*) as anzahl
> from t_person
> group by alter
> order by alter;
>
> Das ergibt z.B.
>
> alter | anzahl
> 15 | 3
> 16 | 5
> 17 | 2
> 18 | 4
>
> Zusätzlich möchte ich eine Spalte, die mir angibt, wieviele Personen bis
> zu dem jeweiligen Alter dabei sind. Das ist die Aufsummierung der Spalte
> "anzahl":

Dafür gibt es Window-Funktionen:

test=*# select * from foo;
a | b
----+---
15 | 3
16 | 5
17 | 2
18 | 4
(4 rows)

test=*# select *, sum(b) over (order by a) from foo;
a | b | sum
----+---+-----
15 | 3 | 3
16 | 5 | 8
17 | 2 | 10
18 | 4 | 14
(4 rows)

Andreas
--
Really, I'm not out to destroy Microsoft. That will just be a completely
unintentional side effect. (Linus Torvalds)
"If I was god, I would recompile penguin with --enable-fly." (unknown)
Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°

In response to

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Charles Clavadetscher 2016-01-12 07:57:42 Swiss PGDay 2016 - Call for Speakers ist eröffnet
Previous Message Ulrich Goebel 2015-12-20 15:23:02 Kummulierte Summe über eine Aggregat Spalte?