Window

ROW_NUMBER

MySQLMySQL

Memberikan nomor urut unik untuk setiap baris dalam partition. Nomor dimulai dari 1 dan naik berurutan.

Tipe hasil: BIGINTDiperbarui: 7 Jan 2026

Syntax

SQL
ROW_NUMBER() OVER ([PARTITION BY col] ORDER BY col)

Parameter

ORDER BYcolumn(s)wajib

Kolom untuk menentukan urutan penomoran

PARTITION BYcolumn(s)opsional

Kolom untuk membagi data menjadi grup (opsional)

Contoh Penggunaan

Nomor Urut Sederhana

SQL
1SELECT name, salary,
2 ROW_NUMBER() OVER (ORDER BY salary DESC) AS rank
3FROM employees;

Menomori karyawan berdasarkan gaji tertinggi.

Hasil
(employees numbered by salary)

Per Department

SQL
1SELECT dept, name, salary,
2 ROW_NUMBER() OVER (
3 PARTITION BY dept
4 ORDER BY salary DESC
5 ) AS dept_rank
6FROM employees;

Nomor urut per departemen.

Hasil
(rank within each department)

Pagination

SQL
1WITH numbered AS (
2 SELECT *,
3 ROW_NUMBER() OVER (ORDER BY id) AS rn
4 FROM products
5)
6SELECT * FROM numbered
7WHERE rn BETWEEN 11 AND 20;

Mengambil halaman 2 (item 11-20).

Hasil
(page 2 of products)