Window
BigQuery
ROW_NUMBER
Memberikan nomor urut unik untuk setiap baris dalam partition, dimulai dari 1. Tidak ada nilai yang sama.
Tipe hasil:
INT64Diperbarui: 7 Jan 2026Syntax
SQL
ROW_NUMBER() OVER ([PARTITION BY partition_expression] ORDER BY sort_expression)Parameter
ORDER BYexpressionwajib
Menentukan urutan penomoran
PARTITION BYexpressionopsional
Membagi data ke dalam grup (opsional)
Contoh Penggunaan
Basic Row Numbering
SQL
1 SELECT 2 name, 3 department, 4 salary, 5 ROW_NUMBER() OVER (ORDER BY salary DESC) as salary_rank 6 FROM `project.dataset.employees`;
Nomor urut berdasarkan gaji tertinggi.
Hasil
| name | department | salary | salary_rank |
|---|---|---|---|
| Alice | Engineering | 120000 | 1 |
| Bob | Sales | 110000 | 2 |
| Charlie | Engineering | 100000 | 3 |
Row Number per Partition
SQL
1 SELECT 2 customer_id, 3 order_date, 4 amount, 5 ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY order_date DESC) as order_num 6 FROM `project.dataset.orders`;
Nomor urut order per customer (terbaru = 1).
Deduplication
SQL
1 WITH ranked AS ( 2 SELECT *, 3 ROW_NUMBER() OVER (PARTITION BY email ORDER BY created_at DESC) as rn 4 FROM `project.dataset.users` 5 ) 6 SELECT * FROM ranked WHERE rn = 1;
Ambil record terbaru per email (deduplicate).