Penjelasan sederhana
COUNT menghitung banyaknya baris. Ini jawaban untuk pertanyaan "ada berapa?": berapa transaksi, berapa pelanggan, berapa produk.
Ada tiga bentuk. COUNT(*) menghitung semua baris. COUNT(kolom) hanya menghitung baris yang kolomnya terisi (tidak NULL). COUNT(DISTINCT kolom) menghitung nilai yang berbeda saja, mirip menghitung setelah Remove Duplicates.
Sintaks
SELECT COUNT(*) -- semua baris
SELECT COUNT(kolom) -- yang tidak NULL
SELECT COUNT(DISTINCT kolom) -- nilai unik
| Bagian | Keterangan |
|---|---|
COUNT(*) | Menghitung semua baris, termasuk yang berisi NULL. |
COUNT(kolom) | Hanya menghitung baris yang kolomnya terisi. |
COUNT(DISTINCT kolom) | Menghitung nilai unik. |
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 COUNT
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 COUNT(*) AS jumlah_transaksi,
COUNT(DISTINCT produk) AS jumlah_produk
FROM penjualan;
Hasil 1 baris
| jumlah_transaksi | jumlah_produk |
|---|---|
| 10 | 6 |
Ada 10 transaksi dari 6 produk berbeda.
Cara kerjanya, langkah demi langkah
FROM penjualan: tabel berisi 10 baris transaksi.COUNT(*): semua baris dihitung, hasilnya 10.COUNT(DISTINCT produk): nama produk yang berbeda dihitung. Laptop, Printer, Kursi Kantor, dan Kertas A4 muncul lebih dari sekali, tapi tiap nama hanya dihitung satu kali. Hasilnya 6 produk.- Seluruh tabel diringkas menjadi satu baris hasil.
Dipakai untuk apa di kantor?
- Menghitung jumlah transaksi per hari.
- Menghitung pelanggan unik yang belanja bulan ini.
- Mengecek berapa data yang kosong dengan membandingkan
COUNT(*)danCOUNT(kolom).
Kesalahan yang sering terjadi
- Memakai
COUNT(kolom)padahal ingin menghitung semua baris. Baris yang kolomnya NULL tidak ikut terhitung. - Menghitung pelanggan dengan
COUNT(*)di tabel transaksi. Pelanggan yang belanja 3 kali terhitung 3. PakaiCOUNT(DISTINCT id_pelanggan).
SUM