SQL-Dojo · Aggregate & Gruppierungen

Gruppen filtern mit HAVING

Übungsaufgabe aus der Lernplattform: Aufgabenstellung hier lesen, Lösung dort schreiben und automatisch prüfen lassen.

Leicht , Schwierigkeit 2 von 5 ca. 10 Minuten 15 XP Track: Aggregate & Gruppierungen

Jetzt eine Frage, die WHERE nicht beantworten kann: “Zeig mir alle Städte, in denen wir mehr als zwei Kunden haben.”

Klingt einfach, ist aber syntaktisch ein Sonderfall. Schau dir an, warum.

Der Knackpunkt: Diese Bedingung lässt sich an keiner einzelnen Zeile prüfen. Ob „Hamburg” mehr als zwei Kunden hat, weiß man erst, wenn alle Hamburger Kunden beisammen liegen. Der Kunde selbst trägt die Information nicht mit sich herum — sie entsteht erst durch die Gruppe.

Genau deshalb hat SQL an dieser Stelle zwei Filter statt einem. Der eine sortiert Zeilen aus, bevor gruppiert wird; der andere wirft ganze Gruppen weg, nachdem gerechnet wurde. Beide sehen im Code fast gleich aus, meinen aber etwas völlig Verschiedenes — und genau diese Verwechslung ist einer der Klassiker in IHK-Klausuren.

Das steckt in der vollständigen Aufgabe

  1. Warum WHERE hier nicht reicht
  2. Die Reihenfolge der Verarbeitung
  3. So funktioniert HAVING
  4. Kontrast: WHERE vs. HAVING
  5. Deine Aufgabe

Die vollständige Aufgabenstellung mit Beispieldaten, Hinweisen und erklärter Musterlösung steht in der Lernplattform.

Lernplattform

Schreib die Lösung, wir prüfen sie.

In der Lernplattform arbeitest du direkt im Browser. Deine Lösung wird automatisch geprüft, mit Hinweisen bei Fehlern und einer erklärten Musterlösung.

Diese Aufgabe lösen

Weitere Aufgaben aus Aggregate & Gruppierungen

Alle Aufgaben
  1. Zeilen zählen mit COUNT Bis hierher haben alle deine Abfragen Zeilen zurückgegeben: eine Zeile pro Kunde, eine Zeile pro Projekt. Jetzt kommt eine ganz andere Art von Abfrage: eine, die die Zeilen zusammenfasst zu einem e... Leicht , Schwierigkeit 1 von 5 ca. 7 Minuten
  2. Beträge summieren mit SUM COUNT zählt Zeilen. SUM addiert Werte einer numerischen Spalte. Das ist das Werkzeug für Fragen wie: - Wie hoch war der Gesamtumsatz? - Wie viel wurde in diesem Monat bezahlt? - Was ist die Summe a... Leicht , Schwierigkeit 1 von 5 ca. 6 Minuten
  3. Minimum, Maximum und Durchschnitt Drei weitere Aggregate, die dasselbe Muster nutzen wie COUNT und SUM: | Funktion | Liefert | |----------|---------| | MIN(spalte) | kleinsten Wert | | MAX(spalte) | größten Wert | | AVG(spalte) | D... Leicht , Schwierigkeit 2 von 5 ca. 7 Minuten
  4. Gruppieren mit GROUP BY Bis jetzt lieferten deine Aggregate einen einzigen Wert für die ganze Tabelle: ein COUNT, ein SUM, ein AVG. Das beantwortet Fragen wie "wie viele Kunden insgesamt?". Aber oft willst du eine Stufe f... Leicht , Schwierigkeit 2 von 5 ca. 10 Minuten

Zurück zur Übersicht Aggregate & Gruppierungen