Aggregate

AVG

BigQueryBigQuery

Menghitung nilai rata-rata (mean) dari nilai numerik dalam sebuah kolom. Mengabaikan nilai NULL dan mendukung berbagai tipe numerik di BigQuery.

Tipe hasil: FLOAT64Diperbarui: 7 Jan 2026

Syntax

SQL
AVG(expression) | AVG(DISTINCT expression)

Parameter

expressionnumericwajib

Kolom atau ekspresi numerik yang akan dihitung rata-ratanya

DISTINCTmodifieropsional

Menghitung rata-rata hanya dari nilai unik

Contoh Penggunaan

Rata-rata Sederhana

SQL
1SELECT AVG(price) as average_price
2FROM `project.dataset.products`;

Menghitung rata-rata harga semua produk.

Hasil
249500.75

AVG dengan GROUP BY

SQL
1SELECT
2 department,
3 AVG(salary) as avg_salary,
4 COUNT(*) as employee_count
5FROM `project.dataset.employees`
6GROUP BY department
7ORDER BY avg_salary DESC;

Menghitung rata-rata gaji per departemen.

Hasil
departmentavg_salaryemployee_count
Engineering15500000.0045
Marketing12000000.0028
Operations9500000.0062

AVG dengan Conditional

SQL
1SELECT
2 AVG(rating) as overall_avg,
3 AVG(IF(verified_purchase = TRUE, rating, NULL)) as verified_avg,
4 AVG(IF(verified_purchase = FALSE, rating, NULL)) as unverified_avg
5FROM `project.dataset.reviews`;

Membandingkan rata-rata rating antara verified dan unverified purchase.

Hasil
overall_avgverified_avgunverified_avg
4.24.53.8

Moving Average dengan Window Function

SQL
1SELECT
2 sale_date,
3 daily_revenue,
4 AVG(daily_revenue) OVER (
5 ORDER BY sale_date
6 ROWS BETWEEN 6 PRECEDING AND CURRENT ROW
7 ) as moving_avg_7_days
8FROM `project.dataset.daily_sales`
9ORDER BY sale_date;

Menghitung 7-day moving average dari revenue harian.

Hasil
sale_datedaily_revenuemoving_avg_7_days
2024-01-0725000002285714.29
2024-01-0828000002414285.71
2024-01-0922000002428571.43

Fungsi Terkait