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

जीते गए मेडल के आधार पर एथलीटों की रैंकिंग

अध्याय 1 में, आपने ROW_NUMBER का उपयोग कर एथलीटों को दिए गए मेडल की संख्या के आधार पर रैंक किया था. लेकिन ROW_NUMBER एक ही मेडल काउंट वाले एथलीटों को अलग-अलग नंबर देता है, इसलिए यह रैंकिंग के लिए उपयोगी नहीं है; अगर दो एथलीटों ने समान संख्या में मेडल जीते हैं, तो उनकी रैंक भी समान होनी चाहिए.

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

PostgreSQL Summary Stats और Window Functions

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

अभ्यास निर्देश

  • हर एथलीट को उसके जीते गए मेडल की संख्या के आधार पर रैंक कीजिए — जितना अधिक काउंट, उतनी ऊँची रैंक — और समान मानों पर समान नंबर दीजिए.

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

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

WITH Athlete_Medals AS (
  SELECT
    Athlete,
    COUNT(*) AS Medals
  FROM Summer_Medals
  GROUP BY Athlete)

SELECT
  Athlete,
  Medals,
  -- Rank athletes by the medals they've won
  ___ OVER (ORDER BY ___ DESC) AS Rank_N
FROM Athlete_Medals
ORDER BY Medals DESC;
कोड संपादित करें और चलाएँ