Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:
Databricks SQL
Databricks Runtime
Menampilkan nilai persentil yang tepat dari expr pada percentage yang ditentukan dalam sebuah grup.
Sintaks
percentile ( [ALL | DISTINCT] expr, percentage [, frequency] ) [FILTER ( WHERE cond ) ]
Fungsi ini juga dapat dipanggil sebagai fungsi jendela dengan menggunakan klausa OVER.
Argumen
-
expr: Ekspresi yang dievaluasi menjadi nilai numerik. -
percentage: Ekspresi numerik antara 0 dan 1 atauARRAYsekumpulan ekspresi numerik, masing-masing antara 0 dan 1. -
frequency: Angka integral opsional literal lebih besar dari 0. -
cond: Ekspresi boolean opsional yang memfilter baris yang digunakan untuk agregasi.
Pengembalian
DOUBLE jika percentage numerik, atau ARRAY<DOUBLE> jika percentage adalah ARRAY.
Frekuensi menjelaskan berapa kali expr harus dihitung. Frekuensi 10 untuk nilai tertentu sama dengan nilai yang muncul 10 kali di jendela pada frekuensi 1.
Frekuensi defaultnya adalah 1.
Jika DISTINCT ditentukan, fungsi hanya beroperasi pada satu set nilai expr yang unik.
Azure Databricks menaikkan DATATYPE_MISMATCH jika percentage tidak antara 0 dan 1, atau bukan konstanta.
Azure Databricks meningkatkan NEGATIVE_VALUES_IN_FREQUENCY_EXPRESSION jika frequency negatif.
Kondisi kesalahan umum
Contoh
> SELECT percentile(col, 0.3) FROM VALUES (0), (10), (10) AS tab(col);
6.0
> SELECT percentile(DISTINCT col, 0.3) FROM VALUES (0), (10), (10) AS tab(col);
3.0
> SELECT percentile(col, 0.3, freq) FROM VALUES (0, 1), (10, 2) AS tab(col, freq);
6.0
> SELECT percentile(col, array(0.25, 0.75)) FROM VALUES (0), (10) AS tab(col);
[2.5,7.5]
> SELECT percentile(col, 1.5) FROM VALUES (1), (2) AS tab(col);
Error: DATATYPE_MISMATCH.VALUE_OUT_OF_RANGE