Diese zwei Funktionen von SQL finden in der SELECT-Anweisung nutzen. Sie können nur in Verbindung mit Aggregatsfunktionen eingebunden werden. Diese sind zum Beispiel: sum,max,min...
GROUP BY
Eine Gruppe von Werten zusammenfassen.
Beispiel: Absatzklassen von Waren sind 1,2 und 3 von 6 verschiedenen Warenwerten. Die GROUP BY-Klausel kann diese Absatzklassen mit den dazugehörigen Waren in drei Gruppen zusammenfassen, wobei die Warenwerte addiert werden.
Veranschaulichung: (Tabelle Waren)
Absatzklassen | Warenwerte 1 20 1 18 2 35 2 15 3 10 3 5 |
Jetzt wende ich das SQL-Statement mit GROUP BY an
SELECT Absatzklassen,SUM(Warenwerte) FROM Waren GROUP BY Absatzklassen |
Ergebnis:
Absatzklassen | Warenwerte 1 38 2 50 3 15 |
HAVING
Die HAVING-Klausel kann dieses Ergebnis noch eingrenzen: z.B. nur Warenwerte > 30
Hier die Formel:
SELECT Absatzklassen,SUM(Warenwerte) FROM Waren GROUP BY Absatzklassen HAVING SUM(Warenwerte) > 30 |
Ergebnis:
Absatzklassen | Warenwerte 1 38 2 50 |