PARTITION BY sebuah kolom
Klausa PARTITION BY memungkinkan Anda menghitung "window" terpisah berdasarkan kolom yang ingin Anda bagi hasilnya. Misalnya, Anda dapat membuat satu kolom yang menghitung rata-rata keseluruhan gol yang dicetak untuk tiap musim.
Dalam latihan ini, Anda akan membuat himpunan data pertandingan yang dimainkan oleh Legia Warszawa (Liga Warsawa), tim peringkat teratas di Polandia, dan membandingkan performa pertandingan mereka secara individual dengan rata-rata keseluruhan untuk musim tersebut.
Di mana Anda melihat lebih banyak outlier? Apakah itu pada pertandingan kandang atau tandang Legia Warszawa?
Latihan ini adalah bagian dari kursus
Manipulasi Data di SQL
Petunjuk latihan
- Lengkapi dua fungsi window yang menghitung rata-rata gol kandang dan tandang. Partisi fungsi window berdasarkan season untuk menghitung rata-rata terpisah per musim.
- Filter kueri agar hanya menyertakan pertandingan yang dimainkan oleh Legia Warszawa,
id = 8673.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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;