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

SQL MEMPUNYAI


SQL HAVING klausa


HAVING klausa

Sebab untuk menambah HAVING klausa dalam SQL ialah kata kunci WHERE Tidak Boleh digunakan dengan fungsi agregat.

Klausa HAVING membolehkan kami menapis setiap kumpulan data selepas dikumpulkan.

SQL MEMPUNYAI sintaks

PILIH column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name_name_VING a ) nilai operator;


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)



SQL HAVING instance

Sekarang kami ingin mencari jumlah lawatan Lebih daripada 200 laman web.

Kami menggunakan pernyataan SQL berikut:

Contoh

SELECT Websites.name, Websites.url, SUM(access_log.count) AS nums FROM (access_log

INNER JOIN Websites

ON access_log.site_id=Websites.id)

KUMPULAN MENGIKUT Websites.name

MINYAK SUM(access_log.count) > 200;

Hasil output untuk melaksanakan SQL di atas adalah seperti berikut:





Sekarang kami mahu cari jumlah lawatan lebih daripada 200 tapak web, dan kedudukan alexa kurang daripada 200.

Kami menambah klausa WHERE biasa pada pernyataan SQL:

Contoh
SELECT Websites.name, SUM(access_log.count) AS nums FROM Tapak web

DALAM JOIN access_log

ON Websites.id=access_log.site_id

WHERE Websites.alexa < 200

KUMPULAN MENGIKUT Websites.name
MINYAK SUM(access_log.count) >

Hasil keluaran untuk melaksanakan SQL di atas adalah seperti berikut: