Zápas je OVER
Klauzule OVER() ti umožňuje aplikovat agregační funkci na celý dataset – podobně jako poddotazy v SELECT. Oproti nim má ale výrazné výhody: dotazy běží rychleji a OVER() nabízí celou řadu dalších funkcí a klauzulí, které si v této kapitole postupně ukážeme.
V tomto cvičení přepíšeš některé dotazy z předchozích kapitol s využitím klauzule OVER().
Toto cvičení je součástí kurzu
Manipulace s daty v SQL
Pokyny k cvičení
- Z tabulek
matchacountryvyberIDzápasu,namezemě,season,home_goalaaway_goal. - Dokonči dotaz, který vypočítá průměrný počet vstřelených gólů celkově a tuto agregovanou hodnotu zahrne do každého řádku pomocí okenní funkce.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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;