Belajar Aggregate Function MySQL: Contoh Tabel, Query, dan Penjelasan Lengkap"

Berikut adalah materi SEO-friendly tentang Aggregate Function pada MySQL, dimulai dari contoh tabel DDL yang dijadikan studi kasus.


✅ Panduan Lengkap Aggregate Function di MySQL + Studi Kasus

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 BY untuk mendapatkan hasil agregat berdasarkan kategori tertentu.
  • Gunakan HAVING jika ingin memfilter hasil setelah agregasi, bukan WHERE.

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.


Kalau kamu mau, saya bisa bantu bikin materi ini dalam bentuk PDF atau Slide juga. Mau dilanjutkan?