您现在正在浏览:首页 » 开发频道 » 大数据 » SQL Server » SQL教程之SQL HAVING 子句
RSS订阅SQL教程之SQL HAVING 子句
SQL教程之SQL HAVING 子句,SQL HAVING 子句 HAVING 子句 在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与……
SQL HAVING 子句
HAVING 子句
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。
HAVING 子句可以让我们筛选分组后的各组数据。
SQL HAVING 语法
SELECT column_name, aggregate_function(column_name)FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value;
演示数据库
在本教程中,我们将使用 RUNOOB 样本数据库。
下面是选自 "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 | | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND | +----+---------------+---------------------------+-------+---------+
下面是 "access_log" 网站访问记录表的数据:
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)
SQL HAVING 实例
现在我们想要查找总访问量大于 200 的网站。
我们使用下面的 SQL 语句:
实例
SELECT Websites.name, Websites.url, SUM(access_log.count) AS nums FROM (access_logINNER JOIN Websites
ON access_log.site_id=Websites.id)
GROUP BY Websites.name
HAVING SUM(access_log.count) > 200;
执行以上 SQL 输出结果如下:

现在我们想要查找总访问量大于 200 的网站,并且 alexa 排名小于 200。
我们在 SQL 语句中增加一个普通的 WHERE 子句:
实例
SELECT Websites.name, SUM(access_log.count) AS nums FROM WebsitesINNER JOIN access_log
ON Websites.id=access_log.site_id
WHERE Websites.alexa < 200
GROUP BY Websites.name
HAVING SUM(access_log.count) > 200;
执行以上 SQL 输出结果如下:

SQL教程之SQL HAVING 子句,以上就是对于SQL HAVING 子句的介绍,更多关于SQL Server方面的技术知识点,请继续关注来吧程序员网。以上文章部分内容来源于网络,版权问题请联系我们。
顶
踩
-
JavaScript成为网络霸主的“绯闻”
JavaScript正凭借新型工具与功能提升以极度夸张的速度吞噬整个世界。我们是否应该接受这一无法逆转的趋势? 还记得那些旧日往事吗?很多用户因为担心安全问题而在浏览器中禁用JavaScript。如...
-
C++是垃圾语言?!
Linux之父对C++进行了炮轰,说它是糟糕程序员的垃圾语言,可谓是一石激起千层浪,引起众多程序员朋友的关注和讨论。本专题给出正反方的讨论观点,供大家评说!另外,给出了编程语言的发展状况...
-
MySQL数据库入门与精通
MySQL是一个跨平台的开源关系型数据库管理系统,目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低...
最新资讯
- SQL教程之SQL NOW() 函数2017-07-14 17:48
- SQL教程之SQL ROUND() 函数2017-07-14 17:48
- SQL教程之SQL LEN() 函数2017-07-14 17:48
- SQL教程之SQL MID() 函数2017-07-14 17:48
- SQL教程之SQL LCASE() 函数2017-07-14 17:48
- SQL教程之SQL UCASE() 函数2017-07-14 17:48
- SQL教程之SQL HAVING 子句2017-07-14 17:48
- SQL教程之SQL 总结2017-07-14 17:48
- SQL教程之SQL 主机2017-07-14 17:48
- SQL教程之SQL 快速参考2017-07-14 17:48
热点文章
- 24小时
- 一周
- 本月
相关热门文章
0 »