Window

DENSE_RANK

MySQLMySQL

Memberikan ranking tanpa gap untuk nilai yang sama. Ranking berurutan tanpa melewati nomor.

Tipe hasil: BIGINTDiperbarui: 7 Jan 2026

Syntax

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
1SELECT name, score,
2 DENSE_RANK() OVER (ORDER BY score DESC) AS dense_rank
3FROM students;

Ranking padat tanpa melewati nomor.

Hasil
Jika 2 siswa skor 90, berikutnya rank 2

Bandingkan dengan RANK

SQL
1SELECT name, score,
2 RANK() OVER (ORDER BY score DESC) AS rank,
3 DENSE_RANK() OVER (ORDER BY score DESC) AS dense_rank
4FROM students;

Melihat perbedaan RANK vs DENSE_RANK.

Hasil
(comparison of both ranking methods)

Tier Pricing

SQL
1SELECT product, price,
2 DENSE_RANK() OVER (ORDER BY price DESC) AS price_tier
3FROM products;

Mengelompokkan produk berdasarkan tier harga.

Hasil
(products grouped by price tier)