Manual Tutorial...LOG MASUK
Manual Tutorial Permulaan SQL
pengarang:php.cn  masa kemas kini:2022-04-12 14:15:40

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;


Pangkalan Data Demo

Dalam 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 |. - -------------------------+---------+

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

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.id

GROUP BY Websites.name;

Hasil output melaksanakan SQL di atas adalah seperti berikut: