ÎncepețiÎncepe gratuit

PARTITION BY pe mai multe coloane

Clauza PARTITION BY poate fi folosită pentru a calcula medii în fereastră pe baza mai multor puncte de date (coloane). Poți chiar să calculezi informațiile pe care vrei să le folosești pentru partiționare! De exemplu, poți calcula media golurilor înscrise pe sezon și pe țară, sau după anul calendaristic (preluat din coloana de dată).

În acest exercițiu, vei calcula media golurilor marcate acasă și în deplasare de Legia Warszawa și de adversarii acesteia, partiționată după luna din fiecare sezon.

Acest exercițiu face parte din cursul

Manipularea datelor în SQL

Vezi cursul

Instrucțiuni pentru exercițiu

  • Construiește două funcții fereastră care partiționează media golurilor acasă și în deplasare după sezon și lună.
  • Filtrează setul de date după ID-ul echipei Legia Warszawa (8673), astfel încât calculul ferestrei să includă doar meciurile în care aceasta a participat.

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 average goals partitioned by season and month
    ___(home_goal) ___(___ ___ ___, 
         	EXTRACT(___ FROM date)) AS season_mo_home,
    ___(away_goal) ___(___ ___ ___, 
            EXTRACT(___ FROM date)) AS season_mo_away
FROM match
WHERE 
	hometeam_id = ___
    OR awayteam_id = ___
ORDER BY (home_goal + away_goal) DESC;
Editează și rulează codul