Kom igångKom igång gratis

Vad händer här med OVER?

Med fönsterfunktioner kan du rangordna data med hjälp av valfri variabel. För att sätta upp detta behöver du ange vilken kolumn eller beräkning som ska ligga till grund för rangordningen. Det gör du genom att inkludera en ORDER BY-sats inuti OVER()-satsen. Här är ett exempel:

SELECT 
    id,
    RANK() OVER(ORDER BY home_goal) AS rank
FROM match;

I den här övningen skapar du ett dataset med rangordnade matcher baserat på vilka ligor som i genomsnitt gör flest mål per match.

Den här övningen är en del av kursen

Datahantering i SQL

Visa kurs

Övningsinstruktioner

  • SELECT liganamnet och genomsnittet av totala mål från league och match.
  • Fyll i fönsterfunktionen så att den beräknar RANK() för genomsnittliga mål per liga i databasen.
  • Rangordna med OVER det genomsnittliga totala antalet hem- och bortamål.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

SELECT 
	-- Select the league name and average goals scored
	___ AS league,
    ___(___ + ___.away_goal) AS avg_goals,
    -- Rank each league over 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 ___;
Redigera och kör kod