ÎncepețiÎncepe gratuit

PARTITION BY după o coloană

Clauza PARTITION BY îți permite să calculezi „ferestre" separate pe baza coloanelor după care vrei să îți împarți rezultatele. De exemplu, poți crea o singură coloană care calculează media generală a golurilor marcate pentru fiecare sezon.

În acest exercițiu, vei construi un set de date cu meciurile jucate de Legia Warszawa (Liga Varșovia), echipa clasată pe primul loc în Polonia, și vei compara performanța lor în meciurile individuale cu media generală a sezonului respectiv.

Unde observi mai multe valori extreme? Sunt acestea meciurile de acasă sau cele în deplasare ale lui Legia Warszawa?

Acest exercițiu face parte din cursul

Manipularea datelor în SQL

Vezi cursul

Instrucțiuni pentru exercițiu

  • Completează cele două funcții de fereastră care calculează mediile golurilor marcate acasă și în deplasare. Împarte funcțiile de fereastră după sezon pentru a calcula medii separate pentru fiecare sezon.
  • Filtrează interogarea pentru a include doar meciurile jucate de Legia Warszawa, id = 8673.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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;
Editează și rulează codul