Kom igångKom igång gratis

PARTITION BY på en kolumn

Med PARTITION BY-klausulen kan du beräkna separata "fönster" baserade på de kolumner du vill dela upp dina resultat efter. Du kan till exempel skapa en enda kolumn som beräknar ett övergripande genomsnitt av mål per säsong.

I den här övningen skapar du ett dataset med matcher spelade av Legia Warszawa, det högst rankade laget i Polen, och jämför deras individuella matchprestationer med totalsnittet för respektive säsong.

Var ser du flest avvikare? Är det Legia Warszawas hemmamatcher eller bortamatcher?

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

Datahantering i SQL

Visa kurs

Övningsinstruktioner

  • Fyll i de två fönsterfunktionerna som beräknar genomsnittet av mål hemma och borta. Partitionera fönsterfunktionerna efter säsong för att beräkna separata genomsnitt för varje säsong.
  • Filtrera frågan så att den bara inkluderar matcher spelade av Legia Warszawa, id = 8673.

Interaktiv övning med praktiskt arbete

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

SELECT
	date,
	season,
	home_goal,
	away_goal,
	CASE WHEN hometeam_id = 8673 THEN 'home' 
		 ELSE 'away' END AS warsaw_location,
    -- Calculate separately the average home and away goals scored, partitioned by season
    ___(___) ___(___ ___ ___) AS season_homeavg,
    ___(___) ___(___ ___ ___) AS season_awayavg
FROM match
-- Filter the data set for Legia Warszawa (id 8673) matches only
WHERE 
	___ = ___ 
    OR ___ = ___
ORDER BY (home_goal + away_goal) DESC;
Redigera och kör kod