Window

PERCENT_RANK

MySQLMySQL

Menghitung ranking relatif sebagai persentase (0 sampai 1). Baris pertama selalu 0, baris terakhir mendekati 1.

Tipe hasil: DOUBLEDiperbarui: 16 Mei 2026

Syntax

SQL
PERCENT_RANK() OVER ([PARTITION BY col] ORDER BY col)

Parameter

ORDER BYcolumn(s)wajib

Kolom untuk menentukan urutan ranking

PARTITION BYcolumn(s)opsional

Kolom untuk membagi data menjadi grup (opsional)

Contoh Penggunaan

Persentil Gaji

SQL
1SELECT name, salary,
2 PERCENT_RANK() OVER (ORDER BY salary) AS percentile
3FROM employees;

Posisi relatif gaji dalam distribusi.

Hasil
(salary percentile for each employee)

Performa Relatif

SQL
1SELECT salesperson, total_sales,
2 ROUND(PERCENT_RANK() OVER (ORDER BY total_sales) * 100, 1) AS percentile
3FROM sales;

Performa sales sebagai persentase.

Hasil
(sales performance percentile)

Per Departemen

SQL
1SELECT dept, name, salary,
2 PERCENT_RANK() OVER (
3 PARTITION BY dept
4 ORDER BY salary
5 ) AS dept_percentile
6FROM employees;

Persentil gaji dalam departemen.

Hasil
(salary percentile within department)

Pertanyaan Umum tentang PERCENT_RANK

Apa itu fungsi PERCENT_RANK di MySQL?
Menghitung ranking relatif sebagai persentase (0 sampai 1). Baris pertama selalu 0, baris terakhir mendekati 1. Di MySQL, fungsi PERCENT_RANK termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan PERCENT_RANK di MySQL?
Gunakan sintaks berikut: PERCENT_RANK() OVER ([PARTITION BY col] ORDER BY col). 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. 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 (column(s), opsional): Kolom untuk membagi data menjadi grup (opsional); ORDER BY (column(s), wajib): Kolom untuk menentukan urutan ranking.