Window
DuckDB
RANK
Memberikan ranking ke setiap baris. Nilai yang sama mendapat ranking yang sama, dan ranking berikutnya di-skip sesuai jumlah duplikat.
Tipe hasil:
BIGINTDiperbarui: 16 Mei 2026Syntax
SQL
RANK() OVER ([PARTITION BY col] ORDER BY col)Parameter
ORDER BYclausewajib
Menentukan urutan ranking
PARTITION BYclauseopsional
Opsional. Membagi hasil menjadi partisi untuk ranking terpisah
Contoh Penggunaan
Ranking dengan Ties
SQL
1 SELECT 2 name, 3 score, 4 RANK() OVER (ORDER BY score DESC) as rank 5 FROM students;
Memberikan ranking berdasarkan score. Nilai sama = ranking sama.
Hasil
| name | score | rank |
|---|---|---|
| Ani | 95 | 1 |
| Budi | 95 | 1 |
| Citra | 90 | 3 |
| Deni | 85 | 4 |
Ranking per Kategori
SQL
1 SELECT 2 category, 3 product_name, 4 sales, 5 RANK() OVER (PARTITION BY category ORDER BY sales DESC) as sales_rank 6 FROM products;
Ranking produk berdasarkan penjualan dalam setiap kategori.
Perbandingan RANK vs ROW_NUMBER
SQL
1 SELECT 2 name, 3 score, 4 ROW_NUMBER() OVER (ORDER BY score DESC) as row_num, 5 RANK() OVER (ORDER BY score DESC) as rank, 6 DENSE_RANK() OVER (ORDER BY score DESC) as dense_rank 7 FROM students;
Membandingkan ketiga fungsi ranking.
Hasil
| name | score | row_num | rank | dense_rank |
|---|---|---|---|---|
| Ani | 95 | 1 | 1 | 1 |
| Budi | 95 | 2 | 1 | 1 |
| Citra | 90 | 3 | 3 | 2 |
| Deni | 85 | 4 | 4 | 3 |
Pertanyaan Umum tentang RANK
Apa itu fungsi RANK di DuckDB?
Memberikan ranking ke setiap baris. Nilai yang sama mendapat ranking yang sama, dan ranking berikutnya di-skip sesuai jumlah duplikat. Di DuckDB, fungsi RANK termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan RANK di DuckDB?
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 (clause, opsional): Opsional. Membagi hasil menjadi partisi untuk ranking terpisah; ORDER BY (clause, wajib): Menentukan urutan ranking.