Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

SELECT ... HAVING - Gruppen auswählen

In der HAVING-Klausel geben Sie Suchbedingungen an, um Gruppen auszuwählen. Die Ergebnistabelle enthält den Satz für eine Gruppe, wenn die Gruppe die angegebene Suchbedingung erfüllt. Ist keine GROUP BY-Klausel angegeben, gelten alle Sätze als eine Gruppe.


SELECT ...

HAVING suchbedingung



suchbedingung

Suchbedingung, die eine Gruppe erfüllen muss.

Im Unterschied zur WHERE-Suchbedingung, die für jeden Satz einer Tabelle ausgewertet wird, wird die HAVING-Suchbedingung einmal pro Gruppe ausgewertet.

Für einen Spaltennamen in suchbedingung muss eine der folgenden Bedingungen gelten:

    • Der Spaltenname ist in der GROUP BY-Klausel aufgeführt.

    • Der Spaltenname ist Argument einer Mengenfunktion (AVG(), SUM(), ...). Wenn der Spaltenname auch in der SELECT-Liste erscheint, darf er dort auch nur als Argument einer Mengenfunktion vorkommen.

    • Der Spaltenname kommt in einer Unterabfrage vor. Wenn der Spaltenname sich auf die Tabellen in der FROM-Klausel bezieht, muss er in der GROUP BY-Klausel aufgeführt oder Argument einer Mengenfunktion sein.

    • Der Spaltenname ist Teil einer Tabelle aus einem übergeordneten SELECT-Ausdruck..


Beispiel

Für jeden Auftrag soll die zuletzt erbrachte Leistung angezeigt werden, sofern sie nach dem angegebenen Datum erfolgt ist:

SELECT anr, MAX(ldatum) FROM leistung GROUP BY anr

HAVING MAX(ldatum) > DATE'<date>'