加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql中having怎么运用

发布时间:2023-05-23 14:36:36 所属栏目:MySql教程 来源:
导读:本篇内容主要讲解“mysql中having怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql中having怎么使用”吧!

在mysql中,having子
本篇内容主要讲解“mysql中having怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql中having怎么使用”吧!
 
在mysql中,having子句用于筛选分组之后的各种数据,通常与“group by”联合使用,该语句弥补了where关键字无法与聚合函数联合使用的不足。
 
本教程操作环境:windows10系统、mysql8.0.22版本、Dell G3电脑。
 
在 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_log
 
INNER JOIN Websites
 
ON access_log.site_id=Websites.id)
 
GROUP BY Websites.name
 
HAVING SUM(access_log.count) > 200;
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!