Fungsi agregat menghitung satu nilai dari serangkaian baris — COUNT, SUM, AVG, MIN, . Fungsi-fungsi ini penting untuk merangkum data (total, rata-rata, jumlah), terutama ketika dikombinasikan dengan .
Fungsi agregat menghitung satu nilai dari serangkaian baris — COUNT, SUM, AVG, MIN, . Fungsi-fungsi ini penting untuk merangkum data (total, rata-rata, jumlah), terutama ketika dikombinasikan dengan .
MAXGROUP BYSELECT
COUNT(*) AS total_rows, -- count all rows
COUNT(email) AS rows_with_email, -- count NON-NULL emails (ignores NULLs!)
SUM(amount) AS total_amount, -- sum of a column
AVG(price) AS average_price, -- average
MIN(price) AS lowest, -- minimum
MAX(price) AS highest -- maximum
FROM orders;
Setiap fungsi mengurangi banyak baris menjadi satu nilai. SUM/AVG bekerja pada angka; MIN/MAX pada angka, tanggal, atau teks; COUNT pada apa pun.
COUNT(*) -- counts ALL rows (including those with NULLs)
COUNT(email) -- counts only rows where email is NOT NULL
COUNT(DISTINCT country) -- counts UNIQUE non-null values
COUNT(*) menghitung semua baris, tetapi COUNT(column) hanya menghitung baris di mana kolom tersebut bukan NULL — perbedaan yang halus namun penting. COUNT(DISTINCT col) menghitung nilai unik.
-- aggregate PER GROUP instead of the whole table
SELECT country, COUNT(*) AS users, AVG(age) AS avg_age
FROM users
GROUP BY country; -- one result row per country
-- → for each country: how many users and their average age
Tanpa GROUP BY, agregat merangkum seluruh hasil menjadi satu baris. Dengan GROUP BY, fungsi ini menghasilkan satu baris ringkasan per grup — penggunaan yang khas dan powerful.
-- ❌ ERROR — can't mix an aggregate with a non-grouped column
SELECT name, COUNT(*) FROM users; -- which name? ambiguous
-- ✅ either group by it, or only select aggregates
SELECT country, COUNT(*) FROM users GROUP BY country;
Fungsi agregat sangat penting untuk merangkum dan menganalisis data — menghitung total, rata-rata, jumlah, dan nilai ekstrem adalah kebutuhan konstan dalam pelaporan, analitik, dashboard, dan logika aplikasi, jadi memahami fungsi-fungsi ini adalah pengetahuan SQL fundamental.
Mengetahui fungsi-fungsi utama (COUNT, SUM, AVG, MIN, MAX) dan bagaimana fungsi-fungsi tersebut mengurangi serangkaian baris menjadi nilai tunggal diperlukan untuk setiap perangkuman data.
Detail penting yang sering disalahpahami adalah perbedaan antara COUNT(*) dan COUNT(column) (COUNT(*) menghitung semua baris, COUNT(column) hanya menghitung nilai non-NULL — yang dapat memberikan hasil yang berbeda dan mengejutkan), bersama dengan COUNT(DISTINCT) untuk nilai unik.
Secara paling powerful, agregat bergabung dengan GROUP BY untuk menghasilkan ringkasan per-grup (jumlah/rata-rata per kategori) — fondasi dari query analitis.
Memahami kesalahan umum bahwa Anda tidak dapat mencampur agregat dengan kolom non-grouped (kesalahan umum) juga penting.
Karena merangkum data adalah tugas database yang ubiquitous (setiap laporan, dashboard, dan query analitik menggunakan agregat), dan karena memahami fungsi-fungsi, subtilitas COUNT, dan terutama kombinasi mereka dengan GROUP BY adalah fundamental untuk analisis data dalam SQL, menguasai fungsi agregat adalah pengetahuan inti yang sering diterapkan dan penting untuk bekerja dengan data — menjembatani query dasar dan kekuatan analitik perangkuman yang membuat SQL berharga untuk pelaporan dan wawasan.