Window
PostgreSQL
RANK
Memberikan ranking untuk setiap baris. Baris dengan nilai sama mendapat rank yang sama, dengan gap setelahnya.
Tipe hasil:
bigintDiperbarui: 16 Mei 2026Syntax
SQL
RANK() OVER ([PARTITION BY partition_expression] ORDER BY sort_expression)Parameter
ORDER BYclausewajib
Menentukan urutan ranking dalam partition
PARTITION BYclauseopsional
Opsional. Membagi hasil ke dalam partition terpisah
Contoh Penggunaan
Ranking Berdasarkan Score
SQL
1 SELECT 2 RANK() OVER (ORDER BY score DESC) as rank, 3 name, 4 score 5 FROM students;
Memberikan ranking berdasarkan score. Jika ada nilai sama, rankingnya sama.
Hasil
| rank | name | score |
|---|---|---|
| 1 | Alice | 95 |
| 1 | Bob | 95 |
| 3 | Carol | 90 |
| 4 | David | 85 |
Perbandingan RANK vs DENSE_RANK vs ROW_NUMBER
SQL
1 SELECT 2 score, 3 RANK() OVER (ORDER BY score DESC) as rank, 4 DENSE_RANK() OVER (ORDER BY score DESC) as dense_rank, 5 ROW_NUMBER() OVER (ORDER BY score DESC) as row_num 6 FROM students;
Perhatikan perbedaan: RANK melompat, DENSE_RANK tidak, ROW_NUMBER selalu unik.
Hasil
| score | rank | dense_rank | row_num |
|---|---|---|---|
| 95 | 1 | 1 | 1 |
| 95 | 1 | 1 | 2 |
| 90 | 3 | 2 | 3 |
| 85 | 4 | 3 | 4 |
Pertanyaan Umum tentang RANK
Apa itu fungsi RANK di PostgreSQL?
Memberikan ranking untuk setiap baris. Baris dengan nilai sama mendapat rank yang sama, dengan gap setelahnya. Di PostgreSQL, fungsi RANK termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan RANK di PostgreSQL?
Gunakan sintaks berikut: RANK() OVER ([PARTITION BY partition_expression] ORDER BY sort_expression). 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 ke dalam partition terpisah; ORDER BY (clause, wajib): Menentukan urutan ranking dalam partition.