Aggregate
DuckDB
QUANTILE
Menghitung nilai pada posisi kuantil tertentu dari distribusi data. Mendukung single quantile atau array of quantiles sekaligus.
Tipe hasil:
Sama dengan tipe input (atau LIST jika input quantile adalah array)Diperbarui: 16 Mei 2026Syntax
SQL
QUANTILE(expression, quantile) | QUANTILE(expression, [q1, q2, ...])Parameter
expressionnumericwajib
Kolom atau ekspresi numerik yang akan dihitung kuantilnya
quantileDOUBLE atau LISTwajib
Posisi kuantil (0.0 sampai 1.0) atau array of quantiles
Contoh Penggunaan
Menghitung Quartiles
SQL
1 SELECT 2 category, 3 QUANTILE(price, 0.25) as Q1, 4 QUANTILE(price, 0.50) as median, 5 QUANTILE(price, 0.75) as Q3 6 FROM products 7 GROUP BY category;
Menghitung quartile 1, median, dan quartile 3 harga per kategori.
Hasil
| category | Q1 | median | Q3 |
|---|---|---|---|
| Electronics | 500000 | 2500000 | 8000000 |
| Clothing | 150000 | 350000 | 750000 |
Multiple Quantiles dengan Array
SQL
1 SELECT 2 region, 3 QUANTILE(salary, [0.1, 0.5, 0.9]) as salary_distribution 4 FROM employees 5 GROUP BY region;
Menghitung persentil 10, 50, dan 90 sekaligus dengan array.
Hasil
| region | salary_distribution |
|---|---|
| Jakarta | [8000000, 15000000, 35000000] |
| Surabaya | [6000000, 12000000, 25000000] |
Percentile untuk Response Time
SQL
1 SELECT 2 endpoint, 3 QUANTILE(response_ms, 0.50) as p50, 4 QUANTILE(response_ms, 0.90) as p90, 5 QUANTILE(response_ms, 0.99) as p99, 6 MAX(response_ms) as max_response 7 FROM api_logs 8 WHERE log_date = CURRENT_DATE 9 GROUP BY endpoint 10 ORDER BY p99 DESC;
Analisis latency dengan p50, p90, dan p99 untuk monitoring SLA.
Hasil
| endpoint | p50 | p90 | p99 | max_response |
|---|---|---|---|---|
| /api/search | 45 | 120 | 350 | 1250 |
| /api/users | 12 | 35 | 85 | 320 |
| /api/health | 2 | 5 | 10 | 45 |
Pertanyaan Umum tentang QUANTILE
Apa itu fungsi QUANTILE di DuckDB?
Menghitung nilai pada posisi kuantil tertentu dari distribusi data. Mendukung single quantile atau array of quantiles sekaligus. Di DuckDB, fungsi QUANTILE termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan QUANTILE di DuckDB?
Gunakan sintaks berikut: QUANTILE(expression, quantile) | QUANTILE(expression, [q1, q2, ...]). Pastikan argumen yang dimasukkan sudah sesuai dengan tipe data yang diharapkan.
Apa nilai yang dikembalikan oleh fungsi QUANTILE?
Fungsi QUANTILE mengembalikan nilai bertipe Sama dengan tipe input (atau LIST jika input quantile adalah array). 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 QUANTILE?
Fungsi ini memiliki 2 parameter wajib. Parameter yang digunakan: expression (numeric, wajib): Kolom atau ekspresi numerik yang akan dihitung kuantilnya; quantile (DOUBLE atau LIST, wajib): Posisi kuantil (0.0 sampai 1.0) atau array of quantiles.