Aggregate
Snowflake
SUM
Menghitung total penjumlahan dari nilai numerik dalam sebuah kolom. Mengabaikan nilai NULL dan sangat efisien untuk aggregasi data warehouse skala besar.
Tipe hasil:
NUMBER (dengan presisi yang sesuai)Diperbarui: 6 Jan 2026Syntax
SQL
SUM(expression) | SUM(DISTINCT expression)Parameter
expressionnumericwajib
Kolom atau ekspresi numerik yang akan dijumlahkan
DISTINCTmodifieropsional
Menjumlahkan hanya nilai unik
Contoh Penggunaan
Menjumlahkan Total Penjualan
SQL
1 SELECT SUM(amount) as total_sales 2 FROM sales 3 WHERE sale_date >= '2024-01-01';
Menghitung total penjualan dari awal tahun 2024.
Hasil
12500000.00
SUM dengan GROUP BY
SQL
1 SELECT 2 product_category, 3 SUM(quantity) as total_sold, 4 SUM(amount) as total_revenue 5 FROM sales 6 GROUP BY product_category 7 ORDER BY total_revenue DESC;
Menghitung total quantity dan revenue per kategori produk.
Hasil
| PRODUCT_CATEGORY | TOTAL_SOLD | TOTAL_REVENUE |
|---|---|---|
| Electronics | 5230 | 8750000.00 |
| Clothing | 12500 | 3125000.00 |
| Books | 8920 | 625000.00 |
Handling NULL dengan ZEROIFNULL
SQL
1 SELECT 2 customer_id, 3 ZEROIFNULL(SUM(amount)) as total_purchases 4 FROM orders 5 GROUP BY customer_id;
Menjumlahkan pembelian per customer. Jika tidak ada pembelian, tampilkan 0 bukan NULL. ZEROIFNULL adalah fungsi Snowflake yang praktis.
SUM sebagai Window Function
SQL
1 SELECT 2 sale_date, 3 amount, 4 SUM(amount) OVER (ORDER BY sale_date) as running_total 5 FROM sales 6 WHERE sale_date >= '2024-01-01' 7 ORDER BY sale_date;
Menghitung running total (kumulatif) penjualan.
Hasil
| SALE_DATE | AMOUNT | RUNNING_TOTAL |
|---|---|---|
| 2024-01-01 | 50000.00 | 50000.00 |
| 2024-01-02 | 75000.00 | 125000.00 |
| 2024-01-03 | 60000.00 | 185000.00 |