Version: Test
©Raddy 2001

SQL mit Oracle VII                                  zurück

GROUP BY:
Einführendes
Beispiel
a-absatz.pcx (280 Byte)
Tabelle "Rechnung"

Nr.

Empfänger Betrag Status
1 Müller 100 bezahlt
2 Schulze 200 bezahlt
3 Bauer 300 offen
4 Müller 400 offen
5 Müller 500 bezahlt
6 Bauer 200 bezahlt
7 Hoffmann 200 storniert
   
a-absatz.pcx (280 Byte)
Erklärung
Mit der SUM-Funktion könnte man nun den Gesamtwert der Spalte
"Betrag" berechnen:
 
    select sum(Betrag) Gesamtsumme
    from rechnung;

Nehmen wir an, wir wollen nun die Gesamtsumme derjenigen Rechnungen
wissen, die bezahlt bzw. nicht bezahlt (offen) oder storniert sind. 
Wir müssen also nicht die Summe einer Spalte bilden, sondern die Summe
von Teilen einer Spalte. Die Klausel dazu lautet GROUP BY. Beispiel:

    select Status, sum(Betrag)
    from rechnung
    group by Status;
  
Zuerst wird die Spalte "Status" in die drei Gruppen geteilt 
(offen, bezahlt, storniert). Dann wird die Summe jeder Gruppe 
gebildet. Die Ausgabe sieht dann so aus:

Bemerkung

SUM


bezahlt 1000
offen 700
storniert 200