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°
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? |