SQL-Abfrage, um eine "Gesamt-Spalte" über mehrere Zeilen

angenommen ich habe folgende Tabelle

claim_id | person_id | age_category | amount
--------------------------------------------
       1 |         1 |        adult |  10.00
       1 |         2 |        adult |  10.00
       1 |         3 |     juvenile |   8.00
       1 |         4 |        child |   5.00
       2 |         5 |        adult |  15.00
       3 |         6 |        adult |  12.00
       3 |         7 |        child |   6.00
     ...
     100 |       250 |        child |   7.00

Sodass mehrere Personen gehören könnte, um den gleichen Anspruch.
Was ich bereits geschafft, zu erreichen, ist ein solches Ergebnis-Tabelle:

category | total people |     amount
------------------------------------
adult    |          150 | 300'000.00
juvenile |           20 |  40'000.00
child    |           80 | 160'000.00

mit der folgenden Abfrage:

select 
    age_category as "category"
    count(*) as "total people",
    sum(amount) as "amount"
from
    my_table
group by
    age_category

Gibt es eine Möglichkeit wie ich die Anzahl der Ansprüche und zeigen Sie es in der gleichen Ergebnis-Tabelle? E. g. so etwas wie:

category | total claims | total people |     amount
--------------------------------------- | -----------
adult    |          100 |          150 | 300'000.00
juvenile |              |           20 |  40'000.00
child    |              |           80 | 160'000.00

Vielen Dank für alle Hinweise!

P. S.: ich bin mit DB2

InformationsquelleAutor user1613270 | 2012-08-28
Schreibe einen Kommentar