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
Du musst angemeldet sein, um einen Kommentar abzugeben.
versuchen Sie dies:
EDIT:
WIE pro Ihren Kommentar, benutzen Sie diese Anfrage
SQL Fiddle Demo
Versuchen, verwenden Sie count(DISTINCT ):
oder auch diese zu verwenden: