如何理解mysql中的聚合函数专用的having查询语句?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
苏南大叔在本文中讲一下mysql
的having
用法,having
语句是用在什么地方的?表示什么意思?这就是本文中要重点讨论的问题。需要强调的是:having
语句总是和聚合函数放在一起使用的。
苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验文章。本having
语句的使用方法文章的测试环境是:win10
,mysql@5.7.26
。
测试数据
这里有个测试表pets
,里面记录一些宠物的信息。建表语句如下:
CREATE TABLE `pets` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`cid` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
INSERT INTO `pets` VALUES (1,'小黑',1),(2,'虎子',2),(3,'二赖子',2),(4,'老白',3),(5,'老许',3),(6,'小白',3);
聚合函数
什么样的函数是聚合函数呢?聚合函数都有哪些?主要有如下常见的聚合函数,比如:
- 求和函数(SUM):将一组数据的值相加得到总和。
- 计数函数(COUNT):统计一组数据中值的个数。
- 平均值函数(AVG):将一组数据的值相加并除以总个数得到平均值。
- 最大值函数(MAX):返回一组数据中的最大值。
- 最小值函数(MIN):返回一组数据中的最小值。
- Group By 分组语句。
查询数据范例:
select cid,count(id) nums,sum(id) nums2,max(id) as max,min(id) as min,avg(id) as avg from pets group by cid
having语句
having
语句其实就是作用在聚合函数相关语句上的where
条件。例如:
select cid,count(id) nums,sum(id) nums2,max(id) as max,min(id) as min,avg(id) as avg from pets group by cid having nums>=2 and max<=3
having对比using
对比一下苏南大叔以前写过的using
语句的话,就可以发现:
using
是个函数,使用方式是using("字段")
。having
是关键字,使用方式是having 字段条件
。
相关链接
- https://newsn.net/say/mysql-left-join.html
- https://newsn.net/say/mysql-inner-join.html
- https://newsn.net/say/mysql-using.html
结束语
更多mysql
经验文章,可以点击:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。