Bir sütuna göre PARTITION BY
PARTITION BY ifadesi, sonuçlarını bölmek istediğin sütunlara göre ayrı "pencereler" hesaplamana olanak tanır. Örneğin, her sezon için atılan gollerin genel ortalamasını hesaplayan tek bir sütun oluşturabilirsin.
Bu egzersizde, Polonya'nın en üst sıradaki takımı Legia Warszawa'nın oynadığı maçlardan bir veri kümesi oluşturacak ve her bir maç performanslarını o sezonun genel ortalamasıyla karşılaştıracaksın.
Aykırı değerleri nerede daha çok görüyorsun? Legia Warszawa'nın iç saha mı yoksa deplasman maçlarında mı?
Bu egzersiz, kursun bir parçasıdır
SQL ile Veri İşleme
Egzersiz talimatları
- İç saha ve deplasman gol ortalamalarını hesaplayan iki pencere fonksiyonunu tamamla. Her sezon için ayrı ortalamalar hesaplamak üzere pencere fonksiyonlarını season’a göre bölümlendir (PARTITION BY).
- Sorguyu yalnızca Legia Warszawa tarafından oynanan maçları içerecek şekilde filtrele,
id = 8673.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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;