In diesem Kapitel lernst du, wie du Daten zusammenfassend analysierst. Wir werden uns mit Aggregationsfunktionen, der GROUP BY-Klausel und der HAVING-Klausel beschäftigen.
6.1 Aggregationsfunktionen
Aggregationsfunktionen führen Berechnungen auf einer Gruppe von Zeilen durch und geben einen einzelnen Wert zurück. Die wichtigsten Aggregationsfunktionen sind:
COUNT
Die COUNT-Funktion zählt die Anzahl der Zeilen, die einer Bedingung entsprechen.
Beispiel:
Um die Anzahl der Benutzer in der Tabelle benutzer
zu zählen, schreibst du:
SELECT COUNT(*) FROM benutzer;
SUM
Die SUM-Funktion berechnet die Summe der Werte in einer Spalte.
Beispiel:
Um die Gesamtsumme aller Bestellungen in der Tabelle bestellungen
zu berechnen, schreibst du:
SELECT SUM(betrag) FROM bestellungen;
AVG
Die AVG-Funktion berechnet den Durchschnitt der Werte in einer Spalte.
Beispiel:
Um den durchschnittlichen Betrag aller Bestellungen zu berechnen, schreibst du:
SELECT AVG(betrag) FROM bestellungen;
MIN
Die MIN-Funktion gibt den kleinsten Wert in einer Spalte zurück.
Beispiel:
Um den kleinsten Betrag aller Bestellungen zu finden, schreibst du:
SELECT MIN(betrag) FROM bestellungen;
MAX
Die MAX-Funktion gibt den größten Wert in einer Spalte zurück.
Beispiel:
Um den größten Betrag aller Bestellungen zu finden, schreibst du:
SELECT MAX(betrag) FROM bestellungen;
6.2 GROUP BY
Die GROUP BY-Klausel wird verwendet, um Zeilen mit denselben Werten in bestimmten Spalten zu gruppieren. Dies ist nützlich, um Aggregationsfunktionen auf Gruppen von Daten anzuwenden.
Syntax:
SELECT spalte1, Aggregationsfunktion(spalte2) FROM tabellenname GROUP BY spalte1;
Beispiel:
Um die Anzahl der Benutzer in jeder Stadt zu zählen, schreibst du:
SELECT stadt, COUNT(*) FROM benutzer GROUP BY stadt;
6.3 HAVING
Die HAVING-Klausel wird verwendet, um Gruppen basierend auf einer Bedingung zu filtern. Sie wird oft in Kombination mit GROUP BY verwendet.
Syntax:
SELECT spalte1, Aggregationsfunktion(spalte2) FROM tabellenname GROUP BY spalte1 HAVING bedingung;
Beispiel:
Um nur die Städte anzuzeigen, in denen mehr als 10 Benutzer leben, schreibst du:
SELECT stadt, COUNT(*) FROM benutzer GROUP BY stadt HAVING COUNT(*) > 10;
6.4 Zusammenfassung
In diesem Kapitel hast du gelernt:
Wie du Aggregationsfunktionen wie
COUNT
,SUM
,AVG
,MIN
undMAX
verwendest.Wie du Daten mit GROUP BY gruppierst.
Wie du Gruppen mit HAVING filterst.
Im nächsten Kapitel werden wir uns mit Datenbankdesign beschäftigen und lernen, wie du effiziente und gut strukturierte Datenbanken erstellst.
Quiz zu Aggregationen
Teste dein Wissen mit diesen Fragen:
Welche Funktion zählt die Anzahl der Zeilen, die einer Bedingung entsprechen?
a)
SUM
b)
COUNT
c)
AVG
Wie gruppierst du Daten basierend auf den Werten in einer Spalte?
a) Mit
HAVING
b) Mit
GROUP BY
c) Mit
ORDER BY
Welche Klausel wird verwendet, um Gruppen basierend auf einer Bedingung zu filtern?
a)
WHERE
b)
HAVING
c)
GROUP BY
Antworten:
1. b) COUNT
2. b) Mit GROUP BY
3. b) HAVING