Kom igångKom igång gratis

Matchen är OVER

Klausulen OVER() låter dig tillämpa en aggregatfunktion över en hel datamängd, på liknande sätt som subquery i SELECT. OVER() har tydliga fördelar jämfört med subquery i SELECT – dina frågor körs snabbare, och klausulen erbjuder en rad ytterligare funktioner och alternativ som vi går igenom längre fram i det här kapitlet.

I den här övningen ska du skriva om några frågor från tidigare kapitel med hjälp av OVER().

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

Datahantering i SQL

Visa kurs

Övningsinstruktioner

  • Välj match-ID, land (name), season, home_goal och away_goal från tabellerna match och country.
  • Komplettera frågan så att den beräknar det genomsnittliga antalet mål totalt och sedan inkluderar det aggregerade värdet i varje rad med hjälp av en fönsterfunktion.

Interaktiv övning med praktiskt arbete

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

SELECT 
	-- Select the match id, country name, season, home, and away goals
	___, 
    c.___ AS country, 
    m.season,
	___.home_goal,
	___,
    -- Use a window to include the aggregate average in each row
	___(___.home_goal + ___) ___ AS overall_avg
FROM match AS m
LEFT JOIN country AS c ON m.country_id = c.id;
Redigera och kör kod