Vor dem Joinen aggregieren
Du hast eine Liste mit folgenden Punkten:
- Afrikanische Athletinnen und Athleten, die an vergangenen Olympischen Spielen teilgenommen haben
- BIP pro Kopf der Länder
- Bevölkerung nach Jahr
Zur Vereinfachung wurden die jährlichen Demografiedaten (BIP und Bevölkerung) in die Kategorien niedrig, mittel und hoch eingeteilt. Deine Aufgabe ist es, das BIP, die Bevölkerung und die Anzahl der Athletinnen und Athleten für jedes afrikanische Land zu vergleichen.
Die finale Ausgabe soll pro Land und Jahr genau eine Zeile enthalten. Da die Tabelle athletes auf einem anderen Granularitätsniveau (Athlet-Ereignis) liegt als die Tabelle demographics_rank (Land-Jahr), aggregierst du zuerst die Tabelle athletes, bevor du sie mit den BIP- und Bevölkerungsdaten verknüpfst.
Diese Übung ist Teil des Kurses
<Kurs>Abfrageleistung in PostgreSQL verbessern</Kurs>Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
-- Count the number of athletes by country
SELECT country_code
, year
, ___(___) AS no_athletes
FROM athletes
GROUP BY ___, ___;