Fungsi RANK & DENSE_RANK
Termasuk bagian Dasar-Dasar dalam perjalanan SQL di Coddy. Pelajaran 65 dari 72.
ROW_NUMBER() adalah salah satu jenis fungsi pemeringkatan, dan ada dua lagi: RANK() dan DENSE_RANK().
Fungsi RANK() memberi nomor pada baris seperti ROW_NUMBER(), tetapi memberikan nomor yang sama untuk baris yang sama dan melewatkan nomor. DENSE_RANK() mirip dengan RANK(), tetapi tidak melewatkan nomor.
Contohnya:
| 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 table1Ini akan menghasilkan:
| 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 |
Penjelasan:
ROW_NUMBER(): Selalu unik: 1, 2, 3, 4, 5, 6RANK():- level 5 (2 baris): keduanya mendapat peringkat 1
- level 6 (2 baris): keduanya mendapat peringkat 3 (melewati 2)
- level 7 (2 baris): keduanya mendapat peringkat 5 (melewati 4)
DENSE_RANK():- level 5 (2 baris): keduanya mendapat peringkat 1
- level 6 (2 baris): keduanya mendapat peringkat 2 (tanpa melewati peringkat)
- level 7 (2 baris): keduanya mendapat peringkat 3 (tanpa melewati peringkat)
Tantangan
MudahTabel dan kolom yang tersedia:
medals:region,medal_color,medal_count
Buat query yang menampilkan region, total jumlah medali (jumlah semua medali tanpa memandang warna), dan dua jenis peringkat:
regular_rank(dengan celah) berdasarkan jumlah medalidense_rank(tanpa celah) berdasarkan jumlah medali
Urutkan hasil berdasarkan:
order by total_medals desc, region ascCoba sendiri
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Kata Kunci Lainnya
Kata kunci INKata kunci BETWEENKata kunci LIKEKata kunci ASRangkuman: Model Ponsel2Kondisi
Dasar KondisiKata Kunci ANDKata Kunci ORKata Kunci NOTMenggabungkan Beberapa KondisiTanda KurungNilai Boolean3Format Pengembalian Khusus
Nilai nullUrutkan Hasil Bagian 1Urutkan Hasil Bagian 2Ulasan: Perusahaan Keamanan SiberBatasi Jumlah RecordUlasan: Pabrik Kendaraan6Tantangan Pengantar
Ulasan: Pemilihan ParlemenUlasan: Polisi Menangkap Pelaku KejahatanUlasan: Wadah Minuman BarUlasan: Insinyur Membuat Kolom Baru9Beberapa Tabel
Join Dasar Bagian 1Join Dasar Bagian 2Ringkasan: JoinSelf joinRingkasan: Self joinUnionSederhanakan query dengan kata kunci WITHRingkasan: Query WITHRingkasan: Kontraktor Properti12Fungsi Window bagian 2
Fungsi RANK & DENSE_RANKRingkasan, RANK & DENSE_RANKFungsi NTILEFungsi AgregasiKriteria ROWS & RANGELatihan sendiri: Playground SQL