SQL KUMPULAN OLEH
SQL GROUP BY pernyataan
GROUP BY statement boleh digabungkan dengan beberapa fungsi agregat untuk menggunakan
Penyataan GROUP BY
Pernyataan GROUP BY digunakan bersama dengan fungsi agregat untuk mengumpulkan set hasil berdasarkan satu atau lebih lajur.
SQL GROUP OLEH sintaks
PILIH nama_lajur, agregat_fungsi(nama_lajur)
DARI nama_jadual
WHERE nilai operator_nama_lajur
GROUP BY column_name;
DARI nama_jadual
WHERE nilai operator_nama_lajur
GROUP BY column_name;
Pangkalan Data DemoDalam tutorial ini kami akan menggunakan pangkalan data sampel php. Berikut ialah data yang dipilih daripada jadual "Laman Web":
+----+--------------+-- - ------------------------+------+---------+
| id | |. url --------+----- | ://www.google.cm/ | 1 |. Amerika Syarikat |. 2 | |
|. 4 |. http://weibo.com/ | |. stackoverflow |. - -------------------------+---------+
PILIH site_id, SUM(access_log.count) AS nums
Instance PILIH Websites.name,COUNT(access_log.aid) SEBAGAI nombor DARI access_log
|. 4 |. http://weibo.com/ | |. stackoverflow |. - -------------------------+---------+
Berikut ialah data jadual rekod akses laman web "access_log":
mysql> SELECT * FROM access_log;
+-----+------ --- +-------+-----------+
|bilangan_tapak |
+-----+---. -----------+----------+
| 1 | 3 |. 2016-05-13 |. 10 | |. 2016 -05-15 -05 -16 |
|. 9 |. 3 | -- ---------+
9 baris dalam set (0.00 saat)
KUMPULAN OLEH aplikasi mudah
statistik akses_log lawatan ke setiap id_tapak :
Instance+-----+------ --- +-------+-----------+
|bilangan_tapak |
+-----+---. -----------+----------+
| 1 | 3 |. 2016-05-13 |. 10 | |. 2016 -05-15 -05 -16 |
|. 9 |. 3 | -- ---------+
9 baris dalam set (0.00 saat)
KUMPULAN OLEH aplikasi mudah
statistik akses_log lawatan ke setiap id_tapak :
PILIH site_id, SUM(access_log.count) AS nums
DARI access_log GROUP BY site_id;
Hasil output untuk melaksanakan SQL di atas adalah seperti berikut:
SQL GROUP BY Multi-Table Join
Sekarang kami ingin mencari bilangan pesanan yang dihantar oleh setiap orang penghantaran.
Pernyataan SQL berikut mengira bilangan rekod yang dilawati oleh semua tapak web: Instance PILIH Websites.name,COUNT(access_log.aid) SEBAGAI nombor DARI access_log
KIRI SERTAI Tapak Web
PADA access_log.site_id=Laman Web.idGROUP BY Websites.name;
Hasil output melaksanakan SQL di atas adalah seperti berikut: