Window
MySQL
DENSE_RANK
Memberikan ranking tanpa gap untuk nilai yang sama. Ranking berurutan tanpa melewati nomor.
Tipe hasil:
BIGINTDiperbarui: 16 Mei 2026Syntax
SQL
DENSE_RANK() OVER ([PARTITION BY col] ORDER BY col)Parameter
ORDER BYcolumn(s)wajib
Kolom untuk menentukan urutan ranking
PARTITION BYcolumn(s)opsional
Kolom untuk membagi data menjadi grup (opsional)
Contoh Penggunaan
Ranking Tanpa Gap
SQL
1 SELECT name, score, 2 DENSE_RANK() OVER (ORDER BY score DESC) AS dense_rank 3 FROM students;
Ranking padat tanpa melewati nomor.
Hasil
Jika 2 siswa skor 90, berikutnya rank 2
Bandingkan dengan RANK
SQL
1 SELECT name, score, 2 RANK() OVER (ORDER BY score DESC) AS rank, 3 DENSE_RANK() OVER (ORDER BY score DESC) AS dense_rank 4 FROM students;
Melihat perbedaan RANK vs DENSE_RANK.
Hasil
(comparison of both ranking methods)
Tier Pricing
SQL
1 SELECT product, price, 2 DENSE_RANK() OVER (ORDER BY price DESC) AS price_tier 3 FROM products;
Mengelompokkan produk berdasarkan tier harga.
Hasil
(products grouped by price tier)
Pertanyaan Umum tentang DENSE_RANK
Apa itu fungsi DENSE_RANK di MySQL?
Memberikan ranking tanpa gap untuk nilai yang sama. Ranking berurutan tanpa melewati nomor. Di MySQL, fungsi DENSE_RANK termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan DENSE_RANK di MySQL?
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 (column(s), opsional): Kolom untuk membagi data menjadi grup (opsional); ORDER BY (column(s), wajib): Kolom untuk menentukan urutan ranking.