Aggregate

AVG

SnowflakeSnowflake

Menghitung nilai rata-rata (average) dari nilai numerik dalam sebuah kolom. Mengabaikan nilai NULL dalam perhitungan pembilang dan penyebut.

Tipe hasil: FLOATDiperbarui: 6 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 Harga Produk

SQL
1SELECT AVG(price) as avg_price
2FROM products;

Menghitung rata-rata harga semua produk.

Hasil
125000.5000

Rata-rata dengan Pembulatan

SQL
1SELECT ROUND(AVG(rating), 2) as avg_rating
2FROM reviews
3WHERE product_id = 'PROD-001';

Menghitung rata-rata rating produk, dibulatkan 2 decimal.

Hasil
4.25

AVG per Kategori

SQL
1SELECT
2 category,
3 ROUND(AVG(price), 0) as avg_price,
4 COUNT(*) as product_count
5FROM products
6GROUP BY category
7ORDER BY avg_price DESC;

Menghitung rata-rata harga per kategori beserta jumlah produknya.

Hasil
CATEGORYAVG_PRICEPRODUCT_COUNT
Electronics2500000450
Furniture1250000320
Clothing3500001280

Moving Average dengan Window Function

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

Menghitung 7-day moving average untuk revenue harian.

Hasil
SALE_DATEDAILY_REVENUEMOVING_AVG_7DAY
2024-01-0150000.0050000.00
2024-01-0275000.0062500.00
2024-01-0780000.0065000.00

Fungsi Terkait