SQL GROUP BY digunakan untuk mengelompokkan data (record) yang memiliki nilai yang sama. seperti “menemukan jumlah data barang sesuai dengan kategori”.
SQL GROUP BY sering digunakan pada fungsi agregat seperti (COUNT(), MAX(), MIN(), SUM(), AVG()) yang menampilkan beberapa kolom.
Sintaks GROUP BY
SELECT column_name(s) FROM table_name WHERE condition GROUP BY column_name(s) ORDER BY column_name(s);
Contoh GROUP BY
Perintah di bawah ini untuk menampilkan banyaknya record berdasarkan kelompok kategori.
SELECT kategori, COUNT(*) as jml_record FROM barang GROUP BY kategori
Perintah di bawah ini untuk menampilkan perolehan penjualan berdasarkan kelompok tahun penjualan urut berdasarkan tahun.
SELECT year(j.tanggal) as tahun, sum(dt.total) as jumlah FROM jual as j LEFT JOIN dtjual as dt ON dt.notrans = j.notrans GROUP BY year(j.tanggal) ORDER BY year(j.tanggal)
Perintah di bawah ini untuk menampilkan perolehan penjualan berdasarkan kelompok bulan penjualan dengan kriteria tahun penjualan 2020 urut berdasarkan bulan.
SELECT month(j.tanggal) as bulan, sum(dt.total) as jumlah FROM jual as j LEFT JOIN dtjual as dt ON dt.notrans = j.notrans WHERE year(j.tanggal) = '2020' GROUP BY month(j.tanggal) ORDER BY month(j.tanggal)
Perintah di bawah ini untuk menampilkan perolehan penjualan berdasarkan kelompok kategori urut berdasarkan perolehan penjualan yang terbesar ke terkecil.
SELECT b.kategori, SUM(dt.total) as Jumlah FROM dtjual as dt LEFT JOIN barang as b ON dt.kodebarang = b.kode GROUP BY b.kategori ORDER BY jumlah desc
Selamat Mencoba