Erste SchritteKostenlos loslegen

OVER – was gibt’s hier drüben?

Mit Fensterfunktionen kannst du eine Rangfolge (RANK) von Informationen anhand einer beliebigen Variable erstellen, die du zum Sortieren deiner Daten verwenden möchtest. Beim Definieren musst du angeben, welche Spalte/Berechnung du zum Erstellen deiner Rangfolge verwenden möchtest. Dazu wird eine ORDER BY-Klausel innerhalb der OVER()-Klausel eingefügt. Nachfolgend ein Beispiel:

SELECT 

    id,

    RANK() OVER(ORDER BY home_goal) AS rank

FROM match;

In dieser Übung erstellst du einen Datensatz mit Spielen, die danach geordnet sind, welche Ligen im Durchschnitt die meisten Tore in einem Spiel erzielen.

Diese Übung ist Teil des Kurses

Datenmanipulation in SQL

Kurs anzeigen

Anleitung zur Übung

  • Wähle den Namen der Liga und die durchschnittliche Anzahl der erzielten Tore aus league und match aus.
  • Ergänze die Fensterfunktion so, dass sie die Rangfolge der durchschnittlich erzielten Tore in allen Ligen der Datenbank berechnet.
  • Ordne die Rangfolge nach der durchschnittlichen Anzahl der erzielten Heim- und Auswärtstore.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

SELECT 
	-- Select the league name and average goals scored
	___ AS league,
    ___(___ + ___.away_goal) AS avg_goals,
    -- Rank each league according to the average goals
    ___ ___(___ ___ AVG(___.home_goal + ___)) AS league_rank
FROM league AS l
LEFT JOIN match AS m 
ON l.id = m.country_id
WHERE m.season = '2011/2012'
GROUP BY l.name
-- Order the query by the rank you created
ORDER BY ___;
Bearbeiten und Ausführen von Code