The match is OVER
La clausola OVER() ti permette di applicare una funzione di aggregazione su un insieme di dati, in modo simile alle sottoquery in SELECT. La clausola OVER() offre vantaggi significativi rispetto alle sottoquery in SELECT: in particolare, le query verranno eseguite più velocemente e OVER() supporta molte funzioni e clausole aggiuntive che vedremo più avanti in questo capitolo.
In questo esercizio, rivedrai alcune query dei capitoli precedenti usando la clausola OVER().
Questo esercizio fa parte del corso
Manipolazione dei dati in SQL
Istruzioni dell'esercizio
- Seleziona l’
IDdella partita, ilnamedel paese, laseason,home_goaleaway_goaldalle tabellematchecountry. - Completa la query che calcola il numero medio di gol segnati complessivamente e poi include il valore aggregato in ogni riga usando una funzione di finestra.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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;