Window
DuckDB
DENSE_RANK
Memberikan ranking ke setiap baris tanpa gap. Nilai yang sama mendapat ranking sama, dan ranking berikutnya tidak di-skip.
Tipe hasil:
BIGINTDiperbarui: 16 Mei 2026Syntax
SQL
DENSE_RANK() OVER ([PARTITION BY col] ORDER BY col)Parameter
ORDER BYclausewajib
Menentukan urutan ranking
PARTITION BYclauseopsional
Opsional. Membagi hasil menjadi partisi untuk ranking terpisah
Contoh Penggunaan
Dense Ranking
SQL
1 SELECT 2 name, 3 score, 4 DENSE_RANK() OVER (ORDER BY score DESC) as dense_rank 5 FROM students;
Memberikan ranking tanpa gap.
Hasil
| name | score | dense_rank |
|---|---|---|
| Ani | 95 | 1 |
| Budi | 95 | 1 |
| Citra | 90 | 2 |
| Deni | 85 | 3 |
Top 3 Distinct Salaries
SQL
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.
Hasil
| salary |
|---|
| 25000000 |
| 20000000 |
| 18000000 |
Ranking per Department
SQL
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.
Pertanyaan Umum tentang DENSE_RANK
Apa itu fungsi DENSE_RANK di DuckDB?
Memberikan ranking ke setiap baris tanpa gap. Nilai yang sama mendapat ranking sama, dan ranking berikutnya tidak di-skip. Di DuckDB, fungsi DENSE_RANK termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan DENSE_RANK di DuckDB?
Gunakan sintaks berikut: DENSE_RANK() OVER ([PARTITION BY col] ORDER BY col). Pastikan argumen yang dimasukkan sudah sesuai dengan tipe data yang diharapkan.
Apa nilai yang dikembalikan oleh fungsi DENSE_RANK?
Fungsi DENSE_RANK mengembalikan nilai bertipe BIGINT. Pastikan tipe data hasil sudah sesuai dengan kebutuhan query atau formula kamu. Jika input mengandung nilai NULL, perilaku fungsi dapat berbeda — selalu periksa dokumentasi untuk memastikan hasilnya sesuai ekspektasi.
Apa saja parameter fungsi DENSE_RANK?
Fungsi ini memiliki 1 parameter wajib dan 1 parameter opsional. Parameter yang digunakan: PARTITION BY (clause, opsional): Opsional. Membagi hasil menjadi partisi untuk ranking terpisah; ORDER BY (clause, wajib): Menentukan urutan ranking.