Window
DuckDB
PERCENT_RANK
Menghitung ranking relatif sebagai persentase. Nilai berkisar dari 0 (baris pertama) hingga 1 (baris terakhir).
Tipe hasil:
DOUBLEDiperbarui: 6 Jan 2026Syntax
SQL
PERCENT_RANK() OVER ([PARTITION BY col] ORDER BY col)Parameter
ORDER BYclausewajib
Menentukan urutan ranking
PARTITION BYclauseopsional
Opsional. Membagi hasil menjadi partisi
Contoh Penggunaan
Percentile Rank Score
SQL
1 SELECT 2 name, 3 score, 4 PERCENT_RANK() OVER (ORDER BY score) as percentile_rank, 5 ROUND(PERCENT_RANK() OVER (ORDER BY score) * 100, 1) as percentile 6 FROM students;
Menghitung percentile rank siswa berdasarkan score.
Hasil
| name | score | percentile_rank | percentile |
|---|---|---|---|
| Ani | 70 | 0.0 | 0.0 |
| Budi | 80 | 0.33 | 33.3 |
| Citra | 90 | 0.67 | 66.7 |
| Deni | 95 | 1.0 | 100.0 |
Salary Percentile per Department
SQL
1 SELECT 2 department, 3 name, 4 salary, 5 ROUND(PERCENT_RANK() OVER ( 6 PARTITION BY department 7 ORDER BY salary 8 ) * 100, 1) as salary_percentile 9 FROM employees;
Percentile gaji dalam department masing-masing.
Identifikasi Outliers
SQL
1 SELECT * 2 FROM ( 3 SELECT 4 *, 5 PERCENT_RANK() OVER (ORDER BY value) as prank 6 FROM measurements 7 ) sub 8 WHERE prank <= 0.05 OR prank >= 0.95;
Mencari data di 5% terbawah atau 5% teratas.