Pengelompokan Data — SQL

GROUP BY mengelompokkan baris berdasarkan nilai kolom tertentu, biasanya dikombinasikan dengan fungsi agregat. SELECT departemen, COUNT(*) as jumlah, AVG(gaji)

GROUP BY mengelompokkan baris berdasarkan nilai kolom tertentu, biasanya dikombinasikan dengan fungsi agregat.

SELECT departemen, COUNT(*) as jumlah, AVG(gaji) as rata_gaji
FROM karyawan
GROUP BY departemen;

Hasil:

departemen jumlah rata_gaji
IT 5 8500000
HR 3 6200000
Marketing 4 7100000

HAVING — filter setelah GROUP BY:

SELECT departemen, COUNT(*) as jumlah
FROM karyawan
GROUP BY departemen
HAVING COUNT(*) > 3;
-- Hanya tampilkan departemen dengan lebih dari 3 karyawan

WHERE vs HAVING:

SELECT departemen, AVG(gaji) as rata_gaji
FROM karyawan
WHERE status = 'aktif'     -- Filter baris dulu
GROUP BY departemen
HAVING AVG(gaji) > 7000000; -- Filter grup

Yang akan kamu pelajari