Aggregate

APPROX_TOP_SUM

BigQueryBigQuery

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 2026

Syntax

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
1SELECT
2 APPROX_TOP_SUM(product_name, revenue, 5) as top_by_revenue
3FROM `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
1SELECT
2 top_customer.value as customer_id,
3 top_customer.sum as total_spending
4FROM `project.dataset.transactions`,
5UNNEST(APPROX_TOP_SUM(customer_id, amount, 10)) as top_customer;

Mencari 10 customer dengan total spending tertinggi.

Hasil
customer_idtotal_spending
C001234125000000
C00567898500000
C00234587250000

Top Categories by Quantity Sold

SQL
1SELECT
2 region,
3 APPROX_TOP_SUM(category, quantity_sold, 3) as top_categories
4FROM `project.dataset.regional_sales`
5GROUP BY region;

Top 3 kategori berdasarkan quantity per region.

Hasil
regiontop_categories
Jakarta[{value: "Electronics", sum: 52000}, ...]
Surabaya[{value: "Fashion", sum: 48000}, ...]