Window
PostgreSQL
PERCENT_RANK
Menghitung relative rank sebagai persentase (0 sampai 1). Formula: (rank - 1) / (total_rows - 1). Baris pertama selalu 0, baris terakhir selalu 1.
Tipe hasil:
double precisionDiperbarui: 16 Mei 2026Syntax
SQL
PERCENT_RANK() OVER (
[PARTITION BY partition_expression]
ORDER BY sort_expression
)Parameter
ORDER BYexpressionwajib
Menentukan urutan ranking
PARTITION BYexpressionopsional
Membagi data menjadi grup terpisah
Contoh Penggunaan
Percentile Rank
SQL
1 SELECT 2 name, 3 salary, 4 PERCENT_RANK() OVER (ORDER BY salary) AS percentile 5 FROM employees;
Menghitung posisi relatif gaji setiap karyawan.
Hasil
| name | salary | percentile |
|---|---|---|
| Andi | 5000000 | 0 |
| Budi | 7000000 | 0.25 |
| Citra | 9000000 | 0.5 |
| Dewi | 12000000 | 0.75 |
| ... 1 baris lainnya | ||
Filter Top 10%
SQL
1 SELECT * 2 FROM ( 3 SELECT 4 product_name, 5 sales, 6 PERCENT_RANK() OVER (ORDER BY sales DESC) AS pct_rank 7 FROM products 8 ) ranked 9 WHERE pct_rank <= 0.1;
Mencari produk di top 10% penjualan.
Perbandingan dengan CUME_DIST
SQL
1 SELECT 2 score, 3 PERCENT_RANK() OVER (ORDER BY score) AS pct_rank, 4 CUME_DIST() OVER (ORDER BY score) AS cume_dist 5 FROM test_results;
PERCENT_RANK dimulai dari 0, CUME_DIST tidak pernah 0.
Pertanyaan Umum tentang PERCENT_RANK
Apa itu fungsi PERCENT_RANK di PostgreSQL?
Menghitung relative rank sebagai persentase (0 sampai 1). Formula: (rank - 1) / (total_rows - 1). Baris pertama selalu 0, baris terakhir selalu 1. Di PostgreSQL, fungsi PERCENT_RANK termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan PERCENT_RANK di PostgreSQL?
Gunakan sintaks berikut: PERCENT_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 PERCENT_RANK?
Fungsi PERCENT_RANK mengembalikan nilai bertipe double precision. 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 PERCENT_RANK?
Fungsi ini memiliki 1 parameter wajib dan 1 parameter opsional. Parameter yang digunakan: PARTITION BY (expression, opsional): Membagi data menjadi grup terpisah; ORDER BY (expression, wajib): Menentukan urutan ranking.