1 of 11

Fungsi Agregasi &�Pengelompokan Data

Menguasai GROUP BY & HAVING dalam SQL� Mata Pelajaran Basis Data - Kelas XI RPL

2 of 11

Mengapa Perlu Agregasi?

Bayangkan Anda mengelola ratusan ribu baris data pemain turnamen E-Sports. Bagaimana cara Anda mencari total perolehan poin terbanyak tanpa harus menghitungnya satu per satu dengan kalkulator?

3 of 11

Fungsi

Kegunaan

Contoh Implementasi SQL

COUNT()

Menghitung jumlah total baris data

SELECT COUNT(id_pemain) FROM pemain;

SUM()

Menjumlahkan seluruh nilai pada kolom numerik

SELECT SUM(skor) FROM pemain;

AVG()

Mencari nilai rata-rata dari sekumpulan data

SELECT AVG(skor) FROM pemain;

MAX()

Mencari nilai tertinggi (maksimal)

SELECT MAX(skor) FROM pemain;

MIN()

Mencari nilai terendah (minimal)

SELECT MIN(skor) FROM pemain;

5 Fungsi Agregasi Utama

4 of 11

Kita memiliki sebuah tabel bernama pemain dengan ribuan data.

Kolom Tersedia: nama, role (misal: Jungler, Roamer, Gold Laner), klub, dan skor_performa.

Pertanyaan Bisnis: Bagaimana cara kita melihat rata-rata skor performa untuk setiap role dalam game tersebut?

Kita tidak bisa sekadar menggunakan AVG() biasa, karena kita ingin nilainya terpisah per role.

Studi Kasus: Database Turnamen

5 of 11

Memecah Data Menjadi Kelompok

GROUP BY berfungsi untuk mengelompokkan baris data yang memiliki nilai yang sama dalam kolom tertentu menjadi baris ringkasan tunggal.

Sangat berguna bila dipadukan dengan fungsi agregasi (COUNT, MAX, MIN, SUM, AVG) untuk menghasilkan laporan statistik.

Sintaks SQL

Berikut cara mengelompokkan skor berdasarkan role:

SELECT

AVG

FROM

GROUP BY

Mengenal Klausa GROUP BY

6 of 11

GROUP BY itu ibarat menyortir sekumpulan permen berdasarkan warnanya terlebih dahulu, baru kemudian menghitung jumlah tiap warnanya.

"

"

7 of 11

Menyaring Data Kelompok (HAVING)

Bagaimana jika dari hasil rata-rata tadi, kita hanya ingin menampilkan role yang rata-rata skor performanya di atas 75? Bisakah kita menggunakan WHERE?

8 of 11

Klausa WHERE

Digunakan untuk menyaring baris data mentah sebelum proses pengelompokan (agregasi) dilakukan oleh sistem.

Klausa HAVING

Digunakan untuk menyaring hasil akhir setelah data dikelompokkan dan diagregasi. Ini adalah pendamping setia GROUP BY.

WHERE

70

-- Menyaring pemain secara individu

HAVING

AVG

70

-- Menyaring hasil rata-rata per role

WHERE vs HAVING

9 of 11

1. SELECT & FROM

Tentukan tabel sumber data dan kolom yang ingin ditampilkan bersama fungsi agregatnya (Misal: COUNT).

2. GROUP BY

Pilih kolom sebagai dasar pengelompokan. Sistem basis data akan melebur baris yang identik di kolom ini.

3. HAVING

Terapkan filter khusus pada hasil kelompok tersebut agar output laporan menjadi relevan dan akurat.

Langkah Merakit Query Kompleks

10 of 11

Saatnya Praktik!

Buka phpMyAdmin atau SQL Fiddle Anda.� Mari bereksperimen dengan tabel yang sudah disiapkan.

11 of 11