शुरू करेंमुफ़्त में शुरू करें

हर region का सबसे अधिक मेडल जीतने वाला athlete

इस अभ्यास का लक्ष्य है कि आप हर region के लिए सबसे अधिक मेडल जीतने वाले athlete को दिखाएँ. इस रिपोर्ट को सेट अप करने के लिए, आपको ROW_NUMBER() window function का उपयोग करना होगा, जो हर row को बढ़ते क्रम में एक integer देता है: पहली row 1, दूसरी 2, आदि.

इस window function का syntax है: ROW_NUMBER() OVER (PARTITION BY field ORDER BY field). ध्यान दें कि शुरुआती function के भीतर कोई argument नहीं होता.

सही सेटअप होने पर, row_num = 1 उस region के सबसे अधिक मेडल जीतने वाले athlete का प्रतिनिधित्व करता है. अगर कई athletes का total समान हो, तो उन टाई हुए athletes में से कोई भी शीर्ष परिणाम के रूप में आ सकता है. ध्यान दें कि आप HAVING या WHERE स्टेटमेंट के भीतर window calculation का उपयोग नहीं कर सकते, इसलिए फ़िल्टर करने के लिए आपको subquery की ज़रूरत होगी.

संदर्भ के लिए E:R Diagram देख सकते हैं. हम null handling से बचने के लिए summer_games_clean का उपयोग करेंगे.

यह अभ्यास पाठ्यक्रम का हिस्सा है

SQL में रिपोर्टिंग

पाठ्यक्रम देखें

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

SELECT 
	-- Query region, athlete_name, and total gold medals
	____, 
    ____ AS athlete_name, 
    ____ AS total_golds,
    -- Assign a regional rank to each athlete
    ____ AS row_num
FROM ____ AS s
JOIN ____ AS a
ON ____
JOIN ____ AS c
ON ____
GROUP BY ____;
कोड संपादित करें और चलाएँ