Pernyataan SQL GROUP BY
GROUP BY pernyataan dapat dikombinasikan dengan beberapa fungsi agregat untuk digunakan
GROUP BY pernyataan
GROUP BY pernyataan digunakan untuk menggabungkan fungsi agregat, sesuai dengan satu atau lebih kolom dalam hasil ditetapkan menjadi kelompok-kelompok.
SQL GROUP BY Syntax
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;
FROM table_name
WHERE column_name operator value
GROUP BY column_name;
Demo Database
Dalam tutorial ini, kita akan menggunakan database contoh w3big.
Berikut ini adalah yang dipilih "Website" data tabel:
+----+--------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN | | 3 | 本教程 | http://www.w3big.com/ | 4689 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND | +----+---------------+---------------------------+-------+---------+
Berikut adalah data "access_log" situs akses catatan tabel:
mysql> SELECT * FROM access_log; +-----+---------+-------+------------+ | aid | site_id | count | date | +-----+---------+-------+------------+ | 1 | 1 | 45 | 2016-05-10 | | 2 | 3 | 100 | 2016-05-13 | | 3 | 1 | 230 | 2016-05-14 | | 4 | 2 | 10 | 2016-05-14 | | 5 | 5 | 205 | 2016-05-14 | | 6 | 4 | 13 | 2016-05-15 | | 7 | 3 | 220 | 2016-05-15 | | 8 | 5 | 545 | 2016-05-16 | | 9 | 3 | 201 | 2016-05-17 | +-----+---------+-------+------------+ 9 rows in set (0.00 sec)
GROUP BY aplikasi sederhana
Kunjungan statistik access_log site_id dari masing-masing:
contoh
SELECT site_id, SUM(access_log.count) AS
nums
FROM access_log GROUP BY site_id;
FROM access_log GROUP BY site_id;
Eksekusi SQL atas hasil output adalah sebagai berikut:
SQL GROUP BY multi-tabel bergabung
Sekarang kita ingin mencari jumlah pesanan untuk setiap pengiriman kurir.
Berikut statistik pernyataan SQL mencatat semua situs yang dikunjungi:
contoh
SELECT Websites.name,COUNT(access_log.aid) AS nums FROM
access_log
LEFT JOIN Websites
ON access_log.site_id=Websites.id
GROUP BY Websites.name;
LEFT JOIN Websites
ON access_log.site_id=Websites.id
GROUP BY Websites.name;
Eksekusi SQL atas hasil output adalah sebagai berikut: