Window

PERCENT_RANK

PostgreSQLPostgreSQL

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 2026

Syntax

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
1SELECT
2 name,
3 salary,
4 PERCENT_RANK() OVER (ORDER BY salary) AS percentile
5FROM employees;

Menghitung posisi relatif gaji setiap karyawan.

Hasil
namesalarypercentile
Andi50000000
Budi70000000.25
Citra90000000.5
Dewi120000000.75
... 1 baris lainnya

Filter Top 10%

SQL
1SELECT *
2FROM (
3 SELECT
4 product_name,
5 sales,
6 PERCENT_RANK() OVER (ORDER BY sales DESC) AS pct_rank
7 FROM products
8) ranked
9WHERE pct_rank <= 0.1;

Mencari produk di top 10% penjualan.

Perbandingan dengan CUME_DIST

SQL
1SELECT
2 score,
3 PERCENT_RANK() OVER (ORDER BY score) AS pct_rank,
4 CUME_DIST() OVER (ORDER BY score) AS cume_dist
5FROM 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.