RANK ve DENSE_RANK Fonksiyonları
Coddy'nin SQL Journey'sinin Temeller bölümünün bir parçası. Ders 65 / 72.
ROW_NUMBER() bir sıralama işlevi türüdür ve iki tane daha vardır: RANK() ve DENSE_RANK().
RANK() işlevi satırları ROW_NUMBER() gibi numaralandırır, ancak aynı satırlara aynı numaraları verir ve numaraları atlar. DENSE_RANK(), RANK() işlevine benzer, ancak numaraları atlamaz.
Örneğin:
| id | level |
| 1 | 5 |
| 2 | 6 |
| 3 | 6 |
| 4 | 7 |
| 5 | 7 |
| 6 | 5 |
SELECT id,
ROW_NUMBER() OVER (ORDER BY level) as row_num,
RANK() OVER (ORDER BY level) as row_rank,
DENSE_RANK() OVER (ORDER BY level) as row_dense_rank
FROM table1Şu sonucu döndürür:
| id | row_num | row_rank | row_dense_rank |
| 1 | 1 | 1 | 1 |
| 6 | 2 | 1 | 1 |
| 2 | 3 | 3 | 2 |
| 3 | 4 | 3 | 2 |
| 4 | 5 | 5 | 3 |
| 5 | 6 | 5 | 3 |
Açıklama:
ROW_NUMBER(): Her zaman benzersiz: 1, 2, 3, 4, 5, 6RANK():- seviye 5 (2 satır): her ikisi de 1 sıralamasını alır
- seviye 6 (2 satır): her ikisi de 3 sıralamasını alır (2 atlanır)
- seviye 7 (2 satır): her ikisi de 5 sıralamasını alır (4 atlanır)
DENSE_RANK():- seviye 5 (2 satır): her ikisi de 1 sıralamasını alır
- seviye 6 (2 satır): her ikisi de 2 sıralamasını alır (atlama yok)
- seviye 7 (2 satır): her ikisi de 3 sıralamasını alır (atlama yok)
Görev
KolayKullanılabilir tablolar ve sütunlar:
medals:region,medal_color,medal_count
Bölgeyi, toplam madalya sayısını (renkten bağımsız olarak tüm madalyaların toplamı) ve iki sıralama türünü gösteren bir sorgu oluşturun:
- Madalyaların toplamı üzerinden (aralıklı) bir
regular_rank - Madalyaların toplamı üzerinden (aralıksız) bir
dense_rank
Sonucu şu şekilde sıralayın:
order by total_medals desc, region ascKendin dene
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Daha Fazla Anahtar Sözcük
IN anahtar sözcüğüBETWEEN anahtar sözcüğüLIKE anahtar sözcüğüAS anahtar sözcüğüTekrar - Cep Telefonu Modelleri2Koşullar
Koşulların TemelleriAND Anahtar SözcüğüOR Anahtar SözcüğüNOT Anahtar SözcüğüBirden Çok Koşulu BirleştirmeParantezlerBoolean Değerler3Belirli Döndürme Biçimi
Null değerlerSonuçları Sıralama 1. BölümSonuçları Sıralama 2. BölümTekrar - Siber Güvenlik FirmasıKayıt Sayısını SınırlamaTekrar - Araç Fabrikası6Giriş Alıştırmaları
Tekrar - Parlamento SeçimiTekrar - Polisin Suçluyu TutuklamasıTekrar - Bar İçecek KabıTekrar - Mühendis Yeni Sütunlar9Birden Çok Tablo
Temel JOIN Bölüm 1Temel JOIN Bölüm 2Tekrar - JOINKendine JOINTekrar - Kendine JOINUNIONSorguları Basitleştirme, WITH Anahtar SözcüğüTekrar - WITH SorgularıTekrar - Gayrimenkul Müteahhidi12Pencere Fonksiyonları 2. Bölüm
RANK ve DENSE_RANK FonksiyonlarıTekrar - RANK ve DENSE_RANKNTILE FonksiyonuToplama FonksiyonlarıROWS ve RANGE ÖlçütüKendi başına pratik yap: SQL playground