Version: Test
©Raddy 2001

SQL mit Oracle VIII                              zurück

Die
HAVING-Klausel
in Verbindung
mit GROUP BY
a-absatz.pcx (280 Byte)

Tabelle "Rechnung"

RNr.

Kundenname Betrag
1 Müller 10
2 Müller 20
3 Müller 20
4 Müller 20
5 Hoffmann 1000
6 Hoffmann 2000
7 Hoffmann 2000
8 Hoffmann 2000
9 Bauer 1
10 Bauer 2
Gegeben ist wieder eine Tabelle Rechnung.
a-absatz.pcx (280 Byte)

Die Having-Klausel

Die Having-Klausel dient dazu, daß nicht alle Gruppen angezeigt
werden, sondern nur die, die eine bestimmte Gruppenfunktion 
(hier: sum) nicht erfüllen. 
Im Beispiel soll die Tabelle Rechnung in Gruppen eingeteilt werden, 
die den gleichen Kundennamen haben. Es sollen aber nur die Kunden
angezeigt werden, die ingesamt für mehr als 10DM Waren gekauft haben:

        select kundenname, sum(betrag), count(betrag)
        from rechnung
        group by kundenname
        having sum(betrag) > 10

Die Ausgabe lautet dann:
kundenname sum count
Müller 70 3
Hoffmann 7000 1
Die Rechnungen der Gruppe "Müller" haben einen Gesamtwert
von 70DM, die der Gruppe "Hoffmann" einen Wert von 7000DM.
Die Rechnungen der Gruppe "Bauer" erscheinen nicht, da ihr 
Gesamtwert unter 10 DM liegt (nämlich 3DM).