Aggregate
Snowflake
AVG
Menghitung nilai rata-rata (average) dari nilai numerik dalam sebuah kolom. Mengabaikan nilai NULL dalam perhitungan pembilang dan penyebut.
Tipe hasil:
FLOATDiperbarui: 6 Jan 2026Syntax
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
1 SELECT AVG(price) as avg_price 2 FROM products;
Menghitung rata-rata harga semua produk.
Hasil
125000.5000
Rata-rata dengan Pembulatan
SQL
1 SELECT ROUND(AVG(rating), 2) as avg_rating 2 FROM reviews 3 WHERE product_id = 'PROD-001';
Menghitung rata-rata rating produk, dibulatkan 2 decimal.
Hasil
4.25
AVG per Kategori
SQL
1 SELECT 2 category, 3 ROUND(AVG(price), 0) as avg_price, 4 COUNT(*) as product_count 5 FROM products 6 GROUP BY category 7 ORDER BY avg_price DESC;
Menghitung rata-rata harga per kategori beserta jumlah produknya.
Hasil
| CATEGORY | AVG_PRICE | PRODUCT_COUNT |
|---|---|---|
| Electronics | 2500000 | 450 |
| Furniture | 1250000 | 320 |
| Clothing | 350000 | 1280 |
Moving Average dengan Window Function
SQL
1 SELECT 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 8 FROM daily_sales 9 ORDER BY sale_date;
Menghitung 7-day moving average untuk revenue harian.
Hasil
| SALE_DATE | DAILY_REVENUE | MOVING_AVG_7DAY |
|---|---|---|
| 2024-01-01 | 50000.00 | 50000.00 |
| 2024-01-02 | 75000.00 | 62500.00 |
| 2024-01-07 | 80000.00 | 65000.00 |