mysql中having怎么使用

网友投稿 368 2023-11-27

mysql中having怎么使用

本篇内容主要讲解“mysql中having怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql中having怎么使用”吧!

mysql中having怎么使用

在mysql中,having子句用于筛选分组之后的各种数据,通常与“group by”联合使用,该语句弥补了where关键字无法与聚合函数联合使用的不足。

本教程操作环境:windows10系统、mysql8.0.22版本、Dell G3电脑。

mysql中having的用法是什么

在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。

HAVING 子句可以让我们筛选分组后的各组数据。

SQL HAVING 语法

SELECT column_name, aggregate_function(column_name) FROM table_name WHEREcolumn_nameoperator 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_log INNER JOINWebsitesON access_log.site_id=Websites.id) GROUP BY Websites.name HAVING SUM(access_log.count) > 200;

执行以上 SQL 输出结果如下:

到此,相信大家对“mysql中having怎么使用”有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:数据仓库和元数据
下一篇:数据仓库-数据质量
相关文章

 发表评论

暂时没有评论,来抢沙发吧~