Memeringkat atlet berdasarkan medali yang diperoleh
Pada bab 1, Anda menggunakan ROW_NUMBER untuk memeringkat atlet berdasarkan medali yang dianugerahkan. Namun, ROW_NUMBER memberikan angka berbeda kepada atlet dengan jumlah medali yang sama, sehingga tidak berguna sebagai fungsi pemeringkatan; jika dua atlet memperoleh jumlah medali yang sama, mereka seharusnya memiliki peringkat yang sama.
Latihan ini adalah bagian dari kursus
Ringkasan Statistik dan Window Functions di PostgreSQL
Petunjuk latihan
- Beri peringkat setiap atlet berdasarkan jumlah medali yang mereka peroleh — semakin tinggi jumlahnya, semakin tinggi peringkatnya — dengan angka yang sama untuk nilai yang identik.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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;