Window
MySQL
RANK
Memberikan ranking dengan gap untuk nilai yang sama. Jika ada tie, baris berikutnya melewati nomor.
Tipe hasil:
BIGINTDiperbarui: 16 Mei 2026Syntax
SQL
RANK() OVER ([PARTITION BY col] ORDER BY col)Parameter
ORDER BYcolumn(s)wajib
Kolom untuk menentukan urutan ranking
PARTITION BYcolumn(s)opsional
Kolom untuk membagi data menjadi grup (opsional)
Contoh Penggunaan
Ranking dengan Gap
SQL
1 SELECT name, score, 2 RANK() OVER (ORDER BY score DESC) AS rank 3 FROM students;
Ranking siswa dengan gap jika skor sama.
Hasil
Jika 2 siswa skor 90, berikutnya rank 3
Ranking Penjualan
SQL
1 SELECT region, salesperson, total_sales, 2 RANK() OVER ( 3 PARTITION BY region 4 ORDER BY total_sales DESC 5 ) AS sales_rank 6 FROM sales_data;
Ranking sales per region.
Hasil
(ranked salespeople by region)
Top 3 per Kategori
SQL
1 SELECT * FROM ( 2 SELECT category, product, revenue, 3 RANK() OVER ( 4 PARTITION BY category 5 ORDER BY revenue DESC 6 ) AS rk 7 FROM products 8 ) t WHERE rk <= 3;
Produk top 3 per kategori.
Hasil
(top 3 products each category)
Pertanyaan Umum tentang RANK
Apa itu fungsi RANK di MySQL?
Memberikan ranking dengan gap untuk nilai yang sama. Jika ada tie, baris berikutnya melewati nomor. Di MySQL, fungsi RANK termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan RANK di MySQL?
Gunakan sintaks berikut: RANK() OVER ([PARTITION BY col] ORDER BY col). Pastikan argumen yang dimasukkan sudah sesuai dengan tipe data yang diharapkan.
Apa nilai yang dikembalikan oleh fungsi RANK?
Fungsi RANK 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 RANK?
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 ranking.