Window
BigQuery
DENSE_RANK
Memberikan peringkat untuk setiap baris tanpa gap. Baris dengan nilai sama mendapat peringkat sama, peringkat berikutnya langsung +1.
Tipe hasil:
INT64Diperbarui: 7 Jan 2026Syntax
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
1 SELECT 2 name, 3 score, 4 RANK() OVER (ORDER BY score DESC) as rank, 5 DENSE_RANK() OVER (ORDER BY score DESC) as dense_rank 6 FROM `project.dataset.students`;
Perbandingan RANK vs DENSE_RANK.
Hasil
| name | score | rank | dense_rank |
|---|---|---|---|
| Alice | 100 | 1 | 1 |
| Bob | 100 | 1 | 1 |
| Charlie | 90 | 3 | 2 |
| David | 80 | 4 | 3 |
Top N per Category
SQL
1 WITH 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 ) 9 SELECT * FROM ranked WHERE dr <= 3;
Top 3 products per category (termasuk ties).