Window

DENSE_RANK

BigQueryBigQuery

Memberikan peringkat untuk setiap baris tanpa gap. Baris dengan nilai sama mendapat peringkat sama, peringkat berikutnya langsung +1.

Tipe hasil: INT64Diperbarui: 7 Jan 2026

Syntax

SQL
DENSE_RANK() OVER ([PARTITION BY partition_expression] ORDER BY sort_expression)

Parameter

ORDER BYexpressionwajib

Menentukan urutan ranking

PARTITION BYexpressionopsional

Membagi data ke dalam grup (opsional)

Contoh Penggunaan

Dense Ranking

SQL
1SELECT
2 name,
3 score,
4 RANK() OVER (ORDER BY score DESC) as rank,
5 DENSE_RANK() OVER (ORDER BY score DESC) as dense_rank
6FROM `project.dataset.students`;

Perbandingan RANK vs DENSE_RANK.

Hasil
namescorerankdense_rank
Alice10011
Bob10011
Charlie9032
David8043

Top N per Category

SQL
1WITH ranked AS (
2 SELECT
3 category,
4 product_name,
5 sales,
6 DENSE_RANK() OVER (PARTITION BY category ORDER BY sales DESC) as dr
7 FROM `project.dataset.products`
8)
9SELECT * FROM ranked WHERE dr <= 3;

Top 3 products per category (termasuk ties).