Aggregatfunktionen
Aggregatfunktionen
Aggregatfunktionen fassen viele Zeilen zu einem einzigen Ergebniswert zusammen. Statt einzelner Datensätze bekommst du Kennzahlen: Wie viele? Wie viel insgesamt? Was ist der Durchschnitt, das Minimum, das Maximum? Sie sind die Grundlage jeder Auswertung und arbeiten oft mit GROUP BY zusammen.
Die fünf wichtigsten Funktionen
| Funktion | Bedeutung |
|---|---|
COUNT() | zählt Zeilen |
SUM() | summiert Zahlen |
AVG() | Durchschnitt |
MIN() | kleinster Wert |
MAX() | größter Wert |
Beispiel: Kennzahlen aller Produkte
SELECT COUNT(*) AS Anzahl,
SUM(Preis) AS Summe,
AVG(Preis) AS Schnitt,
MIN(Preis) AS Guenstigstes,
MAX(Preis) AS Teuerstes
FROM Produkte;
| Anzahl | Summe | Schnitt | Guenstigstes | Teuerstes |
|---|---|---|---|---|
| 5 | 295 | 59 | 10 | 120 |
NULL-Verhalten – sehr wichtig
Alle Aggregatfunktionen außer COUNT(*) ignorieren NULL-Werte:
COUNT(*)zählt alle Zeilen, auch solche mitNULL.COUNT(Spalte)zählt nur Zeilen, in denen die Spalte nichtNULList.AVG(Spalte)teilt durch die Anzahl der Nicht-NULL-Werte – nicht durch alle Zeilen!
Stolperfalle
Du darfst eine Aggregatfunktion nicht im WHERE verwenden, denn WHERE filtert einzelne Zeilen vor der Zusammenfassung. Für Bedingungen auf Aggregaten gibt es HAVING. Außerdem: Mischst du eine Aggregatfunktion mit normalen Spalten im SELECT, brauchst du fast immer ein GROUP BY – sonst gibt es einen Fehler oder ein irreführendes Ergebnis.