Aggregate
BigQuery
APPROX_QUANTILES
Menghitung perkiraan quantile boundaries dari data numerik. Menggunakan algoritma approximate yang efisien untuk dataset besar, mengembalikan array dengan n+1 elemen.
Tipe hasil:
ARRAY<T>Diperbarui: 7 Jan 2026Syntax
SQL
APPROX_QUANTILES(expression, number)Parameter
expressionnumericwajib
Kolom atau ekspresi numerik yang akan dihitung quantile-nya
numberINT64wajib
Jumlah quantile yang diinginkan (n akan menghasilkan n+1 boundaries)
Contoh Penggunaan
Menghitung Quartiles
SQL
1 SELECT 2 APPROX_QUANTILES(salary, 4) as salary_quartiles 3 FROM `project.dataset.employees`;
Menghitung min, Q1, median, Q3, max dari gaji.
Hasil
| salary_quartiles |
|---|
| [5000000, 8500000, 12000000, 18000000, 45000000] |
Menghitung Percentiles
SQL
1 SELECT 2 APPROX_QUANTILES(response_time_ms, 100)[OFFSET(50)] as p50, 3 APPROX_QUANTILES(response_time_ms, 100)[OFFSET(90)] as p90, 4 APPROX_QUANTILES(response_time_ms, 100)[OFFSET(99)] as p99 5 FROM `project.dataset.api_logs`;
Mengambil percentile 50, 90, dan 99 dari response time.
Hasil
| p50 | p90 | p99 |
|---|---|---|
| 120 | 450 | 1250 |
Quartiles per Kategori
SQL
1 SELECT 2 product_category, 3 APPROX_QUANTILES(price, 4) as price_distribution 4 FROM `project.dataset.products` 5 GROUP BY product_category;
Melihat distribusi harga per kategori produk.
Hasil
| product_category | price_distribution |
|---|---|
| Electronics | [99000, 500000, 1500000, 5000000, 25000000] |
| Fashion | [50000, 150000, 350000, 750000, 5000000] |
Median dengan APPROX_QUANTILES
SQL
1 SELECT 2 department, 3 APPROX_QUANTILES(salary, 2)[OFFSET(1)] as median_salary 4 FROM `project.dataset.employees` 5 GROUP BY department 6 ORDER BY median_salary DESC;
Menghitung median gaji per departemen.
Hasil
| department | median_salary |
|---|---|
| Engineering | 15500000 |
| Marketing | 12000000 |
| Operations | 9500000 |