Penjelasan sederhana
SUM menjumlahkan semua angka di sebuah kolom, sama seperti rumus SUM di Excel. Kamu juga bisa menjumlahkan hasil hitungan, misalnya SUM(qty * harga) untuk total nilai penjualan.
Baris yang kolomnya kosong (NULL) dilewati, tidak dianggap 0 dan tidak membuat error.
Sintaks
SELECT SUM(kolom)
FROM nama_tabel;
| Bagian | Keterangan |
|---|---|
kolom | Kolom angka atau ekspresi, misalnya qty * harga. NULL diabaikan. |
Tanda [kurung siku] berarti bagian opsional. Kata kunci SQL tidak membedakan huruf besar-kecil, tapi menulisnya dengan huruf besar membuat query lebih mudah dibaca.
Contoh SUM
Data contoh: penjualan
Tabel penjualan
| id | tanggal | karyawan_id | produk | kategori | qty | harga |
|---|---|---|---|---|---|---|
| 1 | 2026-01-05 | 4 | Laptop | Elektronik | 2 | 8500000 |
| 2 | 2026-01-12 | 6 | Printer | Elektronik | 1 | 2300000 |
| 3 | 2026-01-20 | 4 | Kursi Kantor | Furnitur | 5 | 1200000 |
| 4 | 2026-02-03 | 6 | Laptop | Elektronik | 1 | 8500000 |
| 5 | 2026-02-14 | 4 | Meja Kerja | Furnitur | 3 | 1750000 |
| 6 | 2026-02-25 | 5 | Kertas A4 | ATK | 20 | 55000 |
| 7 | 2026-03-02 | 6 | Kursi Kantor | Furnitur | 4 | 1200000 |
| 8 | 2026-03-10 | 4 | Printer | Elektronik | 2 | 2300000 |
| 9 | 2026-03-18 | 5 | Kertas A4 | ATK | 30 | 55000 |
| 10 | 2026-03-27 | 6 | Monitor | Elektronik | 3 | 1900000 |
SELECT SUM(qty) AS total_unit,
SUM(qty * harga) AS total_omzet
FROM penjualan;
Hasil 1 baris
| total_unit | total_omzet |
|---|---|
| 71 | 56900000 |
Total unit terjual dan total nilai penjualan Januari sampai Maret.
Cara kerjanya, langkah demi langkah
FROM penjualan: 10 baris transaksi diambil.SUM(qty): semua qty dijumlahkan: 2 + 1 + 5 + 1 + 3 + 20 + 4 + 2 + 30 + 3 = 71 unit.SUM(qty * harga): untuk tiap baris dihitung qty × harga, lalu semuanya dijumlahkan menjadi 56.900.000.- Hasilnya satu baris ringkasan.
Dipakai untuk apa di kantor?
- Total omzet per bulan.
- Total pengeluaran per departemen.
- Total stok yang tersedia di gudang.
Kesalahan yang sering terjadi
- Menjumlahkan kolom angka yang disimpan sebagai teks. Ubah dulu dengan
CAST. - Menjumlahkan setelah JOIN yang membuat baris dobel, sehingga total jadi lebih besar dari seharusnya.
AVG