COUNT, SUM, AVG, MIN, MAX
Gunakan lima fungsi agregat inti, pahami COUNT(*) vs COUNT(kolom), dan ketahui cara setiap fungsi menangani NULL.
COUNT, SUM, AVG, MIN, MAX adalah pelajaran SQL Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar SQL Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus SQL Academy mencakup 4 pelajaran total.
Fungsi Agregat
Fungsi agregat meringkas banyak baris menjadi satu nilai. Contoh: total pendapatan, rata-rata penilaian, tanggal maksimum.
COUNT
Menghitung baris. Ada dua bentuk:
SELECT COUNT(*) FROM users; -- counts ALL rows
SELECT COUNT(email) FROM users; -- counts rows where email IS NOT NULL
SELECT COUNT(DISTINCT country) FROM users; -- distinct non-NULL countriesSUM
Menjumlahkan kolom numerik. NULL dilewati:
SELECT SUM(total) FROM orders;
SELECT SUM(total) FROM orders WHERE user_id = 42;AVG
Menghitung rata-rata aritmetika. NULL dilewati — jadi AVG(x) sama dengan SUM(x)/COUNT(x), bukan SUM(x)/COUNT(*):
SELECT AVG(rating) FROM reviews;MIN dan MAX
Nilai bukan NULL terkecil dan terbesar. Berfungsi pada angka, tanggal, string — apa pun yang dapat dibandingkan:
SELECT MIN(created_at), MAX(created_at) FROM orders;
SELECT MIN(name), MAX(name) FROM users; -- alphabeticFungsi Agregat dan NULL
Semua fungsi agregat kecuali COUNT(*) melewati input NULL. AVG, SUM, MIN, dan MAX mengembalikan NULL jika tidak ada input bukan NULL.
-- Suppose the table is empty or all rating is NULL:
SELECT AVG(rating) FROM reviews; -- NULLMenggabungkan Fungsi Agregat
Beberapa fungsi agregat dalam satu kueri — semuanya melihat kelompok yang sama:
SELECT COUNT(*) AS orders,
SUM(total) AS revenue,
AVG(total) AS avg_order,
MIN(total) AS smallest,
MAX(total) AS biggest
FROM orders
WHERE created_at >= NOW() - INTERVAL '30 days';DISTINCT di Dalam Fungsi Agregat
Terapkan DISTINCT sebelum melakukan agregasi:
SELECT COUNT(DISTINCT user_id) AS unique_buyers,
SUM(DISTINCT total) AS sum_of_distinct_totals
FROM orders;Fungsi Agregat Tanpa GROUP BY
Saat menggunakan fungsi agregat tanpa GROUP BY, seluruh kumpulan hasil menjadi satu kelompok besar — Anda mendapatkan satu baris.
Penyaringan Sebelum Agregasi
WHERE mempersempit baris input sebelum baris tersebut diagregasikan:
-- Average of only large orders:
SELECT AVG(total) FROM orders WHERE total > 100;Klausa FILTER (PostgreSQL)
Tambahkan filter per fungsi agregat dengan klausa FILTER:
SELECT
COUNT(*) AS total_orders,
COUNT(*) FILTER (WHERE status = 'paid') AS paid_orders,
SUM(total) FILTER (WHERE status = 'paid') AS paid_revenue
FROM orders;Ringkasan
Lima fungsi agregat inti: COUNT, SUM, AVG, MIN, MAX.
- COUNT(*) menghitung baris; COUNT(col) melewati NULL
- Fungsi agregat lainnya melewati input NULL
- Gabungkan dengan WHERE / FILTER untuk agregasi bersyarat
Pemeriksaan Singkat
Misalkan rating bernilai NULL untuk 100 dari 500 baris. Dibagi dengan berapa nilai AVG(rating)?
Pertanyaan yang Sering Diajukan
Apakah pelajaran “COUNT, SUM, AVG, MIN, MAX” gratis?
Ya — teks lengkap “COUNT, SUM, AVG, MIN, MAX” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus SQL Academy, upgrade ke CoddyKit PRO. Kursus SQL Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “COUNT, SUM, AVG, MIN, MAX”?
Gunakan lima fungsi agregat inti, pahami COUNT(*) vs COUNT(kolom), dan ketahui cara setiap fungsi menangani NULL. Kamu berlatih SQL Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai SQL Academy?
Tidak diperlukan pengalaman sebelumnya. SQL Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “COUNT, SUM, AVG, MIN, MAX” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran SQL Academy ini?
Ya. Setiap pelajaran SQL Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- COUNT, SUM, AVG, MIN, MAX
- GROUP BY untuk Satu dan Banyak Kolom
- HAVING vs WHERE
- Jebakan Umum: NULL dalam Agregat