Kummulierte Summe über eine Aggregat Spalte?

Ulrich Goebel <[email protected]> Sun, 20 Dec 2015 16:23:02 +0100
Newsgroups gmane.comp.db.postgresql.german
Message-ID <[email protected]>
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":

alter | anzahl | summe
    15 |      3 |     3
    16 |      5 |     8
    17 |      2 |    10
    18 |      4 |    14

Mein Ansatz war:

select
   alter,
   count(*) as anzahl,
   sum(anzahl) as summe
from t_person
group by alter
order by alter;

Das ergibt aber leider:
FEHLER:  Spalte „summe“ existiert nicht

Irgendwie auch klar: "anzahl" ist ja schon Ergebnis einer 
Aggregat-Funktion, müsste aber in dem group by Ausdruck vorkommen...

Wie bekomme ich das gewünschte Ergebnis?

Mit Dank für Tips grüßt
Ulrich


-- 
Ulrich Goebel
Paracelsusstr. 120, 53177 Bonn


-- 
Sent via pgsql-de-allgemein mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein