📊 GROUP BY & Agregasi

Level: Intermediate

GROUP BY digunakan untuk mengelompokkan data berdasarkan kolom tertentu, sedangkan fungsi agregasi (COUNT, SUM, AVG, MIN, MAX) digunakan untuk melakukan perhitungan pada tiap kelompok. Bayangkan seperti laporan keuangan: kita bisa menghitung total penjualan per bulan atau rata-rata gaji per departemen.

📖 Fungsi Agregasi Umum

🛠️ Praktik Kecil

Contoh query pada tabel pegawai:

-- Hitung jumlah pegawai per departemen
SELECT departemen_id, COUNT(*) AS jumlah_pegawai
FROM pegawai
GROUP BY departemen_id;

-- Hitung rata-rata gaji per departemen
SELECT departemen_id, AVG(gaji) AS rata_gaji
FROM pegawai
GROUP BY departemen_id;

-- Cari gaji tertinggi per posisi
SELECT posisi, MAX(gaji) AS gaji_tertinggi
FROM pegawai
GROUP BY posisi;

👉 Dengan GROUP BY, kita bisa membuat ringkasan data yang lebih bermakna.

🎮 Mini Challenge

Pada tabel pegawai, lakukan hal berikut:

Tugas tambahan: Gabungkan dengan JOIN agar hasil menampilkan nama departemen, bukan hanya departemen_id.