Window

RANK

DuckDBDuckDB

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 2026

Syntax

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
1SELECT
2 name,
3 score,
4 RANK() OVER (ORDER BY score DESC) as rank
5FROM students;

Memberikan ranking berdasarkan score. Nilai sama = ranking sama.

Hasil
namescorerank
Ani951
Budi951
Citra903
Deni854

Ranking per Kategori

SQL
1SELECT
2 category,
3 product_name,
4 sales,
5 RANK() OVER (PARTITION BY category ORDER BY sales DESC) as sales_rank
6FROM products;

Ranking produk berdasarkan penjualan dalam setiap kategori.

Perbandingan RANK vs ROW_NUMBER

SQL
1SELECT
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
7FROM students;

Membandingkan ketiga fungsi ranking.

Hasil
namescorerow_numrankdense_rank
Ani95111
Budi95211
Citra90332
Deni85443

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.