6. Aggregationen

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 und MAX 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:

  1. Welche Funktion zählt die Anzahl der Zeilen, die einer Bedingung entsprechen?

    • a) SUM

    • b) COUNT

    • c) AVG

  2. Wie gruppierst du Daten basierend auf den Werten in einer Spalte?

    • a) Mit HAVING

    • b) Mit GROUP BY

    • c) Mit ORDER BY

  3. Welche Klausel wird verwendet, um Gruppen basierend auf einer Bedingung zu filtern?

    • a) WHERE

    • b) HAVING

    • c) GROUP BY