Memberikan ranking ke setiap baris tanpa gap. Nilai yang sama mendapat ranking sama, dan ranking berikutnya tidak di-skip.
BIGINTDiperbarui: 13 Jun 2026DENSE_RANK() OVER ([PARTITION BY col] ORDER BY col)Menentukan urutan ranking
Opsional. Membagi hasil menjadi partisi untuk ranking terpisah
1 SELECT 2 name, 3 score, 4 DENSE_RANK() OVER (ORDER BY score DESC) as dense_rank 5 FROM students;
Memberikan ranking tanpa gap.
| name | score | dense_rank |
|---|---|---|
| Ani | 95 | 1 |
| Budi | 95 | 1 |
| Citra | 90 | 2 |
| Deni | 85 | 3 |
1 SELECT DISTINCT salary 2 FROM ( 3 SELECT 4 salary, 5 DENSE_RANK() OVER (ORDER BY salary DESC) as dr 6 FROM employees 7 ) sub 8 WHERE dr <= 3;
Mendapatkan 3 nilai gaji tertinggi yang berbeda.
| salary |
|---|
| 25000000 |
| 20000000 |
| 18000000 |
1 SELECT 2 department, 3 name, 4 performance_score, 5 DENSE_RANK() OVER (PARTITION BY department ORDER BY performance_score DESC) as perf_rank 6 FROM employees;
Ranking performa karyawan per department tanpa gap.
Sudah paham DENSE_RANK? Latih langsung di browser
Latihan interaktif, langsung di browser.