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: 16 Mei 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).
Pertanyaan Umum tentang DENSE_RANK
Apa itu fungsi DENSE_RANK di BigQuery?
Memberikan peringkat untuk setiap baris tanpa gap. Baris dengan nilai sama mendapat peringkat sama, peringkat berikutnya langsung +1. Di BigQuery, fungsi DENSE_RANK termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan DENSE_RANK di BigQuery?
Gunakan sintaks berikut: DENSE_RANK() OVER ([PARTITION BY partition_expression] ORDER BY sort_expression). 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 INT64. 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 (expression, opsional): Membagi data ke dalam grup (opsional); ORDER BY (expression, wajib): Menentukan urutan ranking.