Belajar Aggregate Function MySQL: Contoh Tabel, Query, dan Penjelasan Lengkap
MySQL Aggregate Function adalah fungsi yang digunakan untuk melakukan perhitungan pada sekumpulan nilai dan mengembalikan satu nilai hasil. Fungsi-fungsi ini sangat sering digunakan dalam laporan, analisis data, dan operasi agregasi seperti jumlah total, rata-rata, dan lainnya.
📘 Studi Kasus: Tabel Penjualan Produk
Sebelum masuk ke pembahasan fungsi-fungsi agregat, mari kita buat contoh tabel penjualan yang akan digunakan sebagai studi kasus:
CREATE TABLE penjualan (
id_penjualan INT AUTO_INCREMENT PRIMARY KEY,
tanggal DATE,
produk VARCHAR(100),
jumlah INT,
harga_satuan DECIMAL(10,2)
);
Contoh Data:
INSERT INTO penjualan (tanggal, produk, jumlah, harga_satuan) VALUES
('2025-05-01', 'Laptop', 2, 7500000.00),
('2025-05-01', 'Mouse', 10, 150000.00),
('2025-05-02', 'Laptop', 1, 7500000.00),
('2025-05-02', 'Keyboard', 5, 300000.00),
('2025-05-03', 'Mouse', 4, 150000.00);
🔍 Fungsi Agregat Utama dalam MySQL
Berikut adalah daftar fungsi agregat yang sering digunakan:
1. SUM() – Menjumlahkan nilai
Hitung total pemasukan dari semua penjualan:
SELECT SUM(jumlah * harga_satuan) AS total_pendapatan FROM penjualan;
2. AVG() – Menghitung rata-rata
Hitung rata-rata jumlah unit yang terjual per transaksi:
SELECT AVG(jumlah) AS rata_rata_jumlah FROM penjualan;
3. COUNT() – Menghitung jumlah baris
Hitung total transaksi yang terjadi:
SELECT COUNT(*) AS total_transaksi FROM penjualan;
4. MAX() – Nilai maksimum
Cari harga satuan tertinggi yang pernah tercatat:
SELECT MAX(harga_satuan) AS harga_tertinggi FROM penjualan;
5. MIN() – Nilai minimum
Cari jumlah produk terkecil yang pernah dijual dalam satu transaksi:
SELECT MIN(jumlah) AS jumlah_terkecil FROM penjualan;
📊 Agregat Berdasarkan Kategori (GROUP BY)
Untuk menghitung total pemasukan per produk:
SELECT
produk,
SUM(jumlah * harga_satuan) AS total_pendapatan
FROM
penjualan
GROUP BY
produk;
Untuk menghitung jumlah transaksi per hari:
SELECT
tanggal,
COUNT(*) AS jumlah_transaksi
FROM
penjualan
GROUP BY
tanggal;
❗ Tips Penting:
- Gunakan
GROUP BYuntuk mendapatkan hasil agregat berdasarkan kategori tertentu. - Gunakan
HAVINGjika ingin memfilter hasil setelah agregasi, bukanWHERE.
Contoh: Produk dengan total pendapatan lebih dari 1 juta:
SELECT
produk,
SUM(jumlah * harga_satuan) AS total_pendapatan
FROM
penjualan
GROUP BY
produk
HAVING
total_pendapatan > 1000000;
✍️ Kesimpulan
Fungsi agregat di MySQL sangat berguna untuk analisis data dan laporan. Dengan memahami cara penggunaannya bersama GROUP BY dan HAVING, Anda bisa menghasilkan informasi yang berharga dari data Anda.

Gabung dalam percakapan