Dies ist eine alte Version des Dokuments!
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).
1. Regeln bei Abfragen mit Aggregatfunktionen
- In
SELECTdürfen neben Aggregaten nur Spalten stehen, die auch imGROUP BYvorkommen. WHEREfiltert Zeilen vor dem Gruppieren;HAVINGfiltert 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.
2. Beispiel: Wie viele Missionen pro Firma (Top 10)?
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.
3. Beispiel: Total Einbrüche pro Jahr (Kanton ZH)
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 COVID-19-Jahren ging die Zahl der Einbrüche im Kanton Zürich zurück – jetzt steigt sie wieder an.
4. HAVING – Gruppen nach Kennzahlen filtern
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. HAVING
• WHERE: 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 |
