Window
MySQL
ROW_NUMBER
Memberikan nomor urut unik untuk setiap baris dalam partition. Nomor dimulai dari 1 dan naik berurutan.
Tipe hasil:
BIGINTDiperbarui: 16 Mei 2026Syntax
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
1 SELECT name, salary, 2 ROW_NUMBER() OVER (ORDER BY salary DESC) AS rank 3 FROM employees;
Menomori karyawan berdasarkan gaji tertinggi.
Hasil
(employees numbered by salary)
Per Department
SQL
1 SELECT dept, name, salary, 2 ROW_NUMBER() OVER ( 3 PARTITION BY dept 4 ORDER BY salary DESC 5 ) AS dept_rank 6 FROM employees;
Nomor urut per departemen.
Hasil
(rank within each department)
Pagination
SQL
1 WITH numbered AS ( 2 SELECT *, 3 ROW_NUMBER() OVER (ORDER BY id) AS rn 4 FROM products 5 ) 6 SELECT * FROM numbered 7 WHERE rn BETWEEN 11 AND 20;
Mengambil halaman 2 (item 11-20).
Hasil
(page 2 of products)
Pertanyaan Umum tentang ROW_NUMBER
Apa itu fungsi ROW_NUMBER di MySQL?
Memberikan nomor urut unik untuk setiap baris dalam partition. Nomor dimulai dari 1 dan naik berurutan. Di MySQL, fungsi ROW_NUMBER termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan ROW_NUMBER di MySQL?
Gunakan sintaks berikut: ROW_NUMBER() OVER ([PARTITION BY col] ORDER BY col). Pastikan argumen yang dimasukkan sudah sesuai dengan tipe data yang diharapkan.
Apa nilai yang dikembalikan oleh fungsi ROW_NUMBER?
Fungsi ROW_NUMBER mengembalikan nilai bertipe BIGINT. 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 ROW_NUMBER?
Fungsi ini memiliki 1 parameter wajib dan 1 parameter opsional. Parameter yang digunakan: PARTITION BY (column(s), opsional): Kolom untuk membagi data menjadi grup (opsional); ORDER BY (column(s), wajib): Kolom untuk menentukan urutan penomoran.