Keine Setup- und Abo-Kosten. Mit WHERE kann man nur einen bestimmten Bereich einschränken, sobald man Werte gruppiert und Einschränkungen anhand der Gruppierung machen möchte, benötigt man HAVING. Statt der WHERE-Klausel in der SQL-Anweisung müssen wir in diesem Fall jedoch die für Aggregatfunktionen vorgesehene HAVING-Klausel verwenden.
Die HAVING-Klausel wird üblicherweise am Ende der SQL-Anweisung platziert, wobei eine solche Anweisung mit HAVING-Klausel die GROUP BY-Klausel enthalten kann oder auch nicht. Der SQL Befehl HAVING kann man als WHERE des GROUP BY bezeichnen. HAVING folgt immer dem GROUP BY, kann also nicht davor stehen.
Mit HAVING kann man die Ausgabe auf. MySQL: Einführung in die HAVING-Klausel. An einer einfachen Beispieldatenbank (die Sie unter obigem Link herunterladen können) erkläre ich, wie die HAVING-Klausel funktioniert. Sie werden dabei verstehen, dass berechnete und aggregierte Aliasse (z.B. mit SUM) nicht in der WHERE-Klausel verwendet werden können.
Wer sich also unschlüssig ist, welche Spalte bei HAVING anzugeben ist, der muss lediglich in die GROUP BY-Klausel schauen, denn genau diese Spalte und keine andere, muss auch bei HAVING stehen. Alles andere führt zu einer Fehlermeldung.
