Window

PERCENT_RANK

DuckDBDuckDB

Menghitung ranking relatif sebagai persentase. Nilai berkisar dari 0 (baris pertama) hingga 1 (baris terakhir).

Tipe hasil: DOUBLEDiperbarui: 6 Jan 2026

Syntax

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

Menghitung percentile rank siswa berdasarkan score.

Hasil
namescorepercentile_rankpercentile
Ani700.00.0
Budi800.3333.3
Citra900.6766.7
Deni951.0100.0

Salary Percentile per Department

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

Percentile gaji dalam department masing-masing.

Identifikasi Outliers

SQL
1SELECT *
2FROM (
3 SELECT
4 *,
5 PERCENT_RANK() OVER (ORDER BY value) as prank
6 FROM measurements
7) sub
8WHERE prank <= 0.05 OR prank >= 0.95;

Mencari data di 5% terbawah atau 5% teratas.