LU10b: Gruppieren mit GROUP BY – Kennzahlen pro Kategorie

Warum GROUP BY? Ohne GROUP BY erhalten Sie eine einzige Aggregatkennzahl über alle Zeilen. Mit GROUP BY erhalten Sie eine Zeile pro Gruppe (z. B. pro Jahr, pro Firma, pro Gemeinde).

  • In SELECT dürfen neben Aggregaten nur Spalten stehen, die auch im GROUP BY vorkommen.
  • WHERE filtert Zeilen vor dem Gruppieren; HAVING filtert Gruppen nach dem Gruppieren.

Typischer Fehler:

SELECT gemeindename, SUM(straftaten_total)
FROM einbrueche;  -- ❌ fehlendes GROUP BY → Fehler/Zufallswerte

Immer alle nicht aggregierten Spalten ins GROUP BY aufnehmen.

SELECT company, COUNT(*) AS starts
FROM missions
GROUP BY company
ORDER BY starts DESC
LIMIT 10;

Was passiert? Wir zählen pro Firma und sortieren absteigend; LIMIT begrenzt die Ausgabe. Firmen und Starts – Infos zu den Firmen-Kürzel gibts ganz am Schluss dieser Seite.

SELECT ausgangsjahr, SUM(straftaten_total) AS total_faelle
FROM einbrueche
GROUP BY ausgangsjahr
ORDER BY ausgangsjahr DESC
LIMIT 5;

Was passiert? SUM(…) aggregiert pro Jahr (GROUP BY ausgangsjahr); ORDER BY … DESC sortiert chronologisch absteigend. LIMIT 5 → max 5 Ergebnisse. Während den Pandemie-Jahren ging die Zahl der Einbrüche im Kanton Zürich zurück – jetzt steigt sie wieder an.

4.1 Warum HAVING?

WHERE kann keine Aggregatfunktionen enthalten. Wenn Sie Gruppen nach einer Kennzahl (z. B. SUM(…), COUNT(…)) filtern möchten → HAVING.

4.2 Beispiel: Jahre mit über 25'000 Einbruch-Fällen (ZH)

SELECT ausgangsjahr, SUM(straftaten_total) AS total_faelle
FROM einbrueche
GROUP BY ausgangsjahr
HAVING SUM(straftaten_total) > 25000
ORDER BY total_faelle DESC;

Was passiert? HAVING filtert nur jene Jahre, deren Summe über dem Schwellwert liegt.

WHERE vs. HAVINGWHERE: Zeilen vor dem Gruppieren filtern (z. B. Jahre ab 2018). • HAVING: Gruppen nach Aggregaten filtern (z. B. SUM(…) > 25000).

Infos zu den Firmen involviert in die "Space Race"

Kürzel in Liste Ausgeschrieben / Organisation Land / Region
RVSN USSR Strategic Missile Forces of the USSR (Raketentruppen der strategischen Bestimmung) Sowjetunion (historisch)
CASC China Aerospace Science and Technology Corporation China
Arianespace Arianespace S.A. (europäischer Launch-Dienstleister) Europa / Frankreich
General Dynamics General Dynamics Astronautics (u. a. Atlas-Programm; historisch) USA
VKS RF Russian Aerospace Forces (WKS / Vozdushno-Kosmicheskiye Sily) Russland
NASA National Aeronautics and Space Administration USA
SpaceX Space Exploration Technologies Corp. USA
US Air Force United States Air Force (historischer Launch-Operator) USA
ULA United Launch Alliance (JV von Boeing & Lockheed Martin) USA
Boeing The Boeing Company (Boeing Launch Services / Delta-Programm) USA
  • modul/m290_guko/learningunits/lu10/theorie/b_group_by.txt
  • Zuletzt geändert: 2025/11/09 22:28
  • von gkoch