Window

ROW_NUMBER

BigQueryBigQuery

Memberikan nomor urut unik untuk setiap baris dalam partition, dimulai dari 1. Tidak ada nilai yang sama.

Tipe hasil: INT64Diperbarui: 7 Jan 2026

Syntax

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
1SELECT
2 name,
3 department,
4 salary,
5 ROW_NUMBER() OVER (ORDER BY salary DESC) as salary_rank
6FROM `project.dataset.employees`;

Nomor urut berdasarkan gaji tertinggi.

Hasil
namedepartmentsalarysalary_rank
AliceEngineering1200001
BobSales1100002
CharlieEngineering1000003

Row Number per Partition

SQL
1SELECT
2 customer_id,
3 order_date,
4 amount,
5 ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY order_date DESC) as order_num
6FROM `project.dataset.orders`;

Nomor urut order per customer (terbaru = 1).

Deduplication

SQL
1WITH ranked AS (
2 SELECT *,
3 ROW_NUMBER() OVER (PARTITION BY email ORDER BY created_at DESC) as rn
4 FROM `project.dataset.users`
5)
6SELECT * FROM ranked WHERE rn = 1;

Ambil record terbaru per email (deduplicate).