Sintaks
SELECT kolom, AGREGAT(kolom)
FROM nama_tabel
GROUP BY kolom
HAVING kondisi_agregat;
| Bagian | Keterangan |
|---|---|
kondisi_agregat | Kondisi yang memakai fungsi agregat, misalnya SUM(qty) > 10. |
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 HAVING
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 produk,
SUM(qty) AS total_unit
FROM penjualan
GROUP BY produk
HAVING SUM(qty) >= 5
ORDER BY total_unit DESC;
Hasil 2 baris
| produk | total_unit |
|---|---|
| Kertas A4 | 50 |
| Kursi Kantor | 9 |
Hanya produk yang total terjualnya minimal 5 unit.