SQL in aller Kürze (2)
Eine weitere häufige Datenbankaufgabe ist die Aggregation. Das bedeutet, dass man Daten reduziert, indem sie in Blöcke aufgeteilt und jeder Block zusammengefasst wird.
Das machst du in SQL mit dem Befehl „ GROUP BY “. Dieser Befehl teilt deine Daten in Gruppen auf und wendet eine Funktion aus deiner SELECT-Anweisung auf jede Gruppe an.
Wenn du zum Beispiel die Anzahl der Flüge von jedem der beiden Abflugorte zählen möchtest, könntest du folgende Abfrage verwenden
SELECT COUNT(*) FROM flights
GROUP BY origin;
GROUP BY origin sagt SQL, dass du möchtest, dass die Ausgabe eine Zeile für jeden eindeutigen Wert der Spalte „ origin “ hat. Mit der SELECT-Anweisung wählst du die Werte aus, die du in die einzelnen Spalten einfügen möchtest. Hier wollen wir mit COUNT() jede Zeile in jeder der Gruppen zählen.
Es ist möglich, mittels GROUP BY nach mehr als einer Spalte zu gruppieren. Die resultierende Tabelle enthält eine Zeile für jede Kombination der eindeutigen Werte in jeder Spalte. Die folgende Abfrage zählt die Anzahl der Flüge von SEA und PDX zu jedem Zielflughafen:
SELECT origin, dest, COUNT(*) FROM flights
GROUP BY origin, dest;
Die Ausgabe enthält eine Zeile für jede Kombination der Werte in origin und dest (d. h. eine Zeile mit allen Start- und Zielorten, die ein Flug angeflogen hat). Außerdem gibt es eine Spalte mit dem Wert von COUNT() für alle Zeilen in jeder Gruppe.
Denk dran, dass du hier mehr über SQL erfahren kannst.
Welche Informationen würde diese Abfrage liefern? Denk dran, dass die Tabelle „ flights ” Infos zu Flügen enthält, die 2014 und 2015 von PDX und SEA gestartet sind. Beachte, dass die Funktion AVG() den Mittelwert einer Spalte ermittelt!
SELECT AVG(air_time) / 60 FROM flights
GROUP BY origin, carrier;
Diese Übung ist Teil des Kurses
<Kurs>Grundlagen von PySpark</Kurs>Interaktive praktische Übung
Verwandle Theorie mit einer unserer interaktiven Übungen in die Praxis
Übung starten