Having子句
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用,HAVING 子句可以让我们筛选分组后的各组数据。
SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operator valueGROUP BY column_nameHAVING aggregate_function(column_name) operator value;
例:
A表Websites
id name url alexa country 1 Google https://www.google.cm 1 USA 2 淘宝 https://www.taobao.com 13 CN 3 菜鸟教程 http://www.runoob.com 4689 CN 4 微博 http://weibo.com 20 CN 5 FaceBook https://www.facebook.com 3 USA B表access_log
id 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 查找总访问量sum(count)>200,alexa排名小于30的网站。
select Websites.name,sum(access_log.count) AS TotalVisitsfrom Websites INNER JOIN access_logON Websites.id = access_log.site_idwhere Websites.alexa <30group by Websites.namehaving sum(access_log.count) >200