कई कॉलम पर PARTITION BY
PARTITION BY क्लॉज़ का उपयोग करके आप window averages को कई डेटा पॉइंट्स (कॉलम्स) के हिसाब से अलग कर सकते हैं। आप वह जानकारी भी पहले कैलकुलेट कर सकते हैं जिसका उपयोग डेटा को partition करने में होगा! उदाहरण के लिए, आप season और country के हिसाब से, या फिर कैलेंडर year (date कॉलम से निकाला गया) के हिसाब से, औसत goals कैलकुलेट कर सकते हैं।
इस अभ्यास में, आप Legia Warszawa और उनके विरोधियों द्वारा किए गए home और away goals की औसत संख्या कैलकुलेट करेंगे, जिसे हर season में month के आधार पर partition किया जाएगा.
यह अभ्यास पाठ्यक्रम का हिस्सा है
SQL में Data Manipulation
अभ्यास निर्देश
- दो window functions बनाएँ जो season और month के आधार पर home और away goals का average partition करें।
- डेटासेट को Legia Warszawa की team ID (
8673) से फ़िल्टर करें ताकि window calculation में केवल वही मैच शामिल हों जिनमें वे खेले हैं.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
SELECT
date,
season,
home_goal,
away_goal,
CASE WHEN hometeam_id = 8673 THEN 'home'
ELSE 'away' END AS warsaw_location,
-- Calculate average goals partitioned by season and month
___(home_goal) ___(___ ___ ___,
EXTRACT(___ FROM date)) AS season_mo_home,
___(away_goal) ___(___ ___ ___,
EXTRACT(___ FROM date)) AS season_mo_away
FROM match
WHERE
hometeam_id = ___
OR awayteam_id = ___
ORDER BY (home_goal + away_goal) DESC;