IniziaInizia gratis

PARTITION BY su una colonna

La clausola PARTITION BY ti permette di calcolare "finestre" separate in base alle colonne con cui vuoi suddividere i risultati. Per esempio, puoi creare una singola colonna che calcola la media complessiva dei gol segnati per ogni stagione.

In questo esercizio, creerai un insieme di dati delle partite giocate dal Legia Warszawa (Lega di Varsavia), la squadra più quotata in Polonia, e confronterai le loro prestazioni partita per partita con la media complessiva di quella stagione.

Dove noti più valori anomali? Nelle partite in casa o in trasferta del Legia Warszawa?

Questo esercizio fa parte del corso

Manipolazione dei dati in SQL

Visualizza il corso

Istruzioni dell'esercizio

  • Completa le due funzioni finestra che calcolano le medie dei gol in casa e in trasferta. Partiziona le funzioni finestra per season per calcolare medie separate per ciascuna stagione.
  • Filtra la query per includere solo le partite giocate dal Legia Warszawa, id = 8673.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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;
Modifica ed esegui il codice