Learn
← Previous Next →

COUNT, SUM, AVG, GROUP BY & HAVING

60 min Last updated 24 Mar 2026

Fungsi Agregat

Fungsi agregat menghitung ringkasan dari banyak baris data menjadi satu nilai.

2.1 COUNT, SUM, AVG, MIN, MAX

-- Hitung total pelanggan
SELECT COUNT(*) AS total_pelanggan FROM pelanggan;

-- Total nilai semua pesanan
SELECT SUM(total_harga) AS total_penjualan FROM pesanan;

-- Rata-rata harga produk
SELECT AVG(harga) AS rata_harga FROM produk;

-- Produk termahal dan termurah
SELECT MAX(harga) AS termahal, MIN(harga) AS termurah FROM produk;

2.2 GROUP BY — Kelompokkan Data

GROUP BY mengelompokkan baris yang memiliki nilai sama pada kolom tertentu.

-- Jumlah pelanggan per kota
SELECT kota, COUNT(*) AS jumlah_pelanggan
FROM pelanggan
GROUP BY kota;

-- Total penjualan per metode bayar
SELECT metode_bayar, SUM(total_harga) AS total
FROM pesanan
GROUP BY metode_bayar
ORDER BY total DESC;

2.3 HAVING — Filter setelah GROUP BY

HAVING seperti WHERE, tapi digunakan setelah GROUP BY.

-- Kota dengan lebih dari 2 pelanggan
SELECT kota, COUNT(*) AS jumlah
FROM pelanggan
GROUP BY kota
HAVING COUNT(*) > 2
ORDER BY jumlah DESC;

-- Kategori dengan rata-rata harga di atas 500rb
SELECT kategori_id, AVG(harga) AS avg_harga
FROM produk
GROUP BY kategori_id
HAVING AVG(harga) > 500000;
💡Urutan eksekusi SQL: FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT

💡 Notice: Gunakan fungsi COUNT, SUM, AVG, GROUP BY, dan HAVING.

Assignment

Tampilkan total penjualan (SUM total_harga) per status_pesanan, hanya tampilkan yang totalnya di atas 10 juta, urutkan dari terbesar.

Expected output:

-- Hasil berisi: selesai (total tertinggi), dikirim, dan mungkin lainnya
SQL query.sql
Solution
Output
⏳ Loading DB...