Mecz z OVER
Klauzula OVER() pozwala zastosować funkcję agregującą do całego zbioru danych – podobnie jak podzapytania w SELECT. Jej główną zaletą nad podzapytaniami jest to, że zapytania działają szybciej, a sama klauzula OVER() oferuje szeroki wachlarz dodatkowych funkcji i klauzul, które omówimy w dalszej części tego rozdziału.
W tym ćwiczeniu przepiszesz kilka zapytań z poprzednich rozdziałów, korzystając z klauzuli OVER().
To ćwiczenie jest częścią kursu
Data Manipulation in SQL
Instrukcje do ćwiczenia
- Wybierz
IDmeczu,namekraju,season,home_goalorazaway_goalz tabelmatchicountry. - Uzupełnij zapytanie tak, aby obliczało średnią liczbę zdobytych bramek ogółem, a następnie umieszczało tę wartość agregującą w każdym wierszu za pomocą funkcji okna.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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;