Aggregate
BigQuery
APPROX_TOP_SUM
Mengembalikan perkiraan elemen dengan total weight tertinggi. Mirip dengan APPROX_TOP_COUNT tapi berdasarkan sum of weights, bukan count.
Tipe hasil:
ARRAY<STRUCT<value T, sum INT64>>Diperbarui: 7 Jan 2026Syntax
SQL
APPROX_TOP_SUM(expression, weight, number)Parameter
expressionanywajib
Kolom atau ekspresi yang akan di-group
weightnumericwajib
Nilai weight/bobot yang akan dijumlahkan per group
numberINT64wajib
Jumlah top values yang ingin dikembalikan
Contoh Penggunaan
Top 5 Produk by Revenue
SQL
1 SELECT 2 APPROX_TOP_SUM(product_name, revenue, 5) as top_by_revenue 3 FROM `project.dataset.sales`;
Mencari 5 produk dengan total revenue tertinggi.
Hasil
| top_by_revenue |
|---|
| [{value: "MacBook Pro", sum: 8750000000}, |
| {value: "iPhone 15", sum: 6520000000}, |
| {value: "iPad Pro", sum: 3450000000}, |
| {value: "iMac", sum: 2890000000}, |
| ... 1 baris lainnya |
Top Customers by Spending
SQL
1 SELECT 2 top_customer.value as customer_id, 3 top_customer.sum as total_spending 4 FROM `project.dataset.transactions`, 5 UNNEST(APPROX_TOP_SUM(customer_id, amount, 10)) as top_customer;
Mencari 10 customer dengan total spending tertinggi.
Hasil
| customer_id | total_spending |
|---|---|
| C001234 | 125000000 |
| C005678 | 98500000 |
| C002345 | 87250000 |
Top Categories by Quantity Sold
SQL
1 SELECT 2 region, 3 APPROX_TOP_SUM(category, quantity_sold, 3) as top_categories 4 FROM `project.dataset.regional_sales` 5 GROUP BY region;
Top 3 kategori berdasarkan quantity per region.
Hasil
| region | top_categories |
|---|---|
| Jakarta | [{value: "Electronics", sum: 52000}, ...] |
| Surabaya | [{value: "Fashion", sum: 48000}, ...] |