Aggregatfunktionen sind Unterprogramme in SQL, die beim Aufruf einen einzelnen Wert liefern. Diese Funktionen werden verwendet, um statistische Standardberechnungen für Attribute oder Felder in einer Tabelle durchzuführen, z. B. die Summe, den Durchschnitt, das Finden von Extremwerten (Minimum/Maximum) und das Zählen der Datensätze (Records).
Vereinfacht gesagt verarbeiten Aggregatfunktionen viele Datenzeilen, um einen einzigen, kompakten und informativen Ergebniswert zu erzeugen.
1. Arten von Aggregatfunktionen
Es gibt fünf wichtige Aggregatfunktionen, die häufig bei der Datenverarbeitung verwendet werden:
- SUM Diese Funktion summiert alle Daten in einer bestimmten Spalte. Die SUM-Funktion kann nur auf Spalten mit numerischem Datentyp angewendet werden. Syntax: SELECT SUM(spaltenname) FROM tabellenname WHERE bedingung;
- COUNT Diese Funktion zählt die Anzahl der Zeilen in einer Spalte. Im Gegensatz zu SUM kann COUNT mit numerischen und nicht-numerischen Datentypen (Zeichenketten/Text) arbeiten. Syntax: SELECT COUNT(spaltenname) FROM tabellenname WHERE bedingung;
- AVG (Average) Diese Funktion berechnet den Durchschnittswert einer Spalte. Wie SUM arbeitet sie nur mit numerischen Datentypen. Syntax: SELECT AVG(spaltenname) FROM tabellenname WHERE bedingung;
- MIN Diese Funktion zeigt den kleinsten Wert einer Spalte an. MIN ist flexibel, da sie sowohl mit numerischen als auch mit nicht-numerischen Datentypen funktioniert. Syntax: SELECT MIN(spaltenname) FROM tabellenname WHERE bedingung;
- MAX Das Gegenstück zu MIN: Diese Funktion zeigt den größten Wert einer Spalte an. Sie unterstützt ebenfalls numerische und nicht-numerische Datentypen. Syntax: SELECT MAX(spaltenname) FROM tabellenname WHERE bedingung;
2. Die GROUP BY-Klausel
Die GROUP BY-Klausel gruppiert Daten in einer oder mehreren Spalten nach einem gewünschten Ausdruck. Sie sammelt dabei Datensätze mit gleichen Werten zu einer Gruppe.
Die Verwendung dieser Klausel steht in engem Zusammenhang mit Aggregatfunktionen, wenn man statistische Ergebnisse (wie Summen oder Durchschnittswerte) für jede einzelne Kategorie sehen möchte. Syntax: SELECT spaltenname FROM tabellenname GROUP BY spaltenname;
3. Die HAVING-Klausel
Die HAVING-Klausel hat eine ähnliche Funktion wie die WHERE-Klausel – sie fügt Bedingungen oder Filter zu den Abfrageergebnissen hinzu. Es gibt jedoch grundlegende Unterschiede:
- Ersatz für WHERE: WHERE kann nicht zusammen mit Aggregatfunktionen verwendet werden. Daher wird HAVING benutzt, um Daten anhand der Ergebnisse dieser Aggregatfunktionen zu filtern.
- Mehrzeilenoperation: HAVING wird bei Operationen auf mehreren Zeilen (nach der Gruppierung) verwendet, während WHERE auf Einzelzeilenebene vor der Gruppierung arbeitet.
Syntax: SELECT spaltenname FROM tabellenname GROUP BY spaltenname HAVING bedingung;






