Sporcuları kazandıkları madalyalara göre sıralama
- bölümde, sporcuları aldıkları madalya sayısına göre sıralamak için
ROW_NUMBERkullanmıştın. AncakROW_NUMBER, aynı madalya sayısına sahip sporculara farklı numaralar atar; bu yüzden iyi bir sıralama fonksiyonu değildir. İki sporcu aynı sayıda madalya aldıysa, aynı sırada olmalıdır.
Bu egzersiz, kursun bir parçasıdır
PostgreSQL Özet İstatistikler ve Pencere Fonksiyonları
Egzersiz talimatları
- Her sporcuyu kazandığı madalya sayısına göre sırala — sayı arttıkça sıra yükselsin — aynı değerlerde aynı sıra numarasını ver.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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;