यहाँ OVER क्या कर रहा है?
Window functions आपको अपने डेटा को sort करने के लिए चुने गए किसी भी वैरिएबल के आधार पर जानकारी का RANK बनाने देती हैं। इसे सेट करते समय, आपको यह बताना होगा कि अपनी रैंक निकालने के लिए किस कॉलम/कैलकुलेशन का उपयोग करना है। यह OVER() क्लॉज़ के अंदर ORDER BY क्लॉज़ शामिल करके किया जाता है। नीचे एक उदाहरण है:
SELECT
id,
RANK() OVER(ORDER BY home_goal) AS rank
FROM match;
इस अभ्यास में, आप ऐसा डेटासेट बनाएँगे जिसमें मैचों को उन लीग्स के अनुसार रैंक किया गया है जो औसतन एक मैच में सबसे ज्यादा गोल करती हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
SQL में Data Manipulation
अभ्यास निर्देश
leagueऔरmatchसे लीग का नाम और औसत कुल किए गए गोल्स कोSELECTकरें.- विंडो फंक्शन को पूरा करें ताकि यह डेटाबेस की सभी लीग्स में किए गए औसत गोल्स का
RANK()निकाले. - रैंक को home और away गोल्स के कुल औसत पर
OVERकरें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
SELECT
-- Select the league name and average goals scored
___ AS league,
___(___ + ___.away_goal) AS avg_goals,
-- Rank each league over the average goals
___ ___(___ ___ AVG(___.home_goal + ___)) AS league_rank
FROM league AS l
LEFT JOIN match AS m
ON l.id = m.country_id
WHERE m.season = '2011/2012'
GROUP BY l.name
-- Order the query by the rank you created
ORDER BY ___;