SQL HAVING Befehl

Das SQL HAVING–Statement ist das SQL WHERE in einem SQL GROUP BY-Statement. Es ermöglicht eine gruppierte Ergebnismenge einzuschränken. Mit SQL HAVING kann die Ergebnismenge auf Basis der Aggregatfunktionen (AVG, COUNT, MAX, MIN, SUM) eingeschränkt und ausgegeben werden.

SQL HAVING BY Syntax

Die SQL HAVING Syntax einer Select-Abfrage mit GROUP BY ist wie folgt aufgebaut:

SELECT spaltenname 
FROM tabellenname 
[WHERE Bedingung] 
GROUP BY spaltenname 
HAVING Ausdruck;

Mithilfe des HAVING wird definiert, wie die gruppierte Datenmenge eingeschränkt werden soll. Die Ergenismenge kann nach mehrere Spalten eingeschränkt werden.

SQL HAVING Beispiel

Gegeben sei folgende Tabelle namens „Auto“:

AutoKM-StandBaujahr
Auto 130 000km2002
Auto 210 000km2010
Auto 320 000km2010
Auto 430 000km2001

Wir sind nun ein Autoverkäufer und möchten wissen, wie viele Autos das Baujahr 2010 und einen Kilometerstand unter 15 000km in unserem Repertoire besitzen.

Das SQL Statement mit der HAVING-Bedingung würde wie folgt aussehen:

SELECT Baujahr, COUNT(Baujahr) AS AnzahlAutos 
FROM Auto 
WHERE Baujahr='2010'
GROUP BY Baujahr,KM-Stand 
HAVING KM-Stand < 15000;

Das Ergebnis würde wie folgt aussehen:

BaujahrCount(Baujahr)
20101

Als Ergebnis erhalten wir ein Auto, das aus dem Baujahr 2010 ist und weniger als 15000 km Laufleistung hat, angezeigt.

Weiterführende Artikel

    Bitte bewerten (1 - 5):