【基础】聚合函数、分组、having子句
前言
Github:https://github.com/yihonglei/road-of-arch/tree/master/thinking-in-mysql
概述
聚合函数在查询中、统计、求和等比较常用,通过聚合函数完成能十分省事,如果没有聚合函数,可能需要各种子查询,各种sql嵌套才能完成,
但是有了聚合函数,很多问题迎刃而解。
一 聚合函数分类
sum:求和
max:求最大值
min:求最小值
count:统计条数
avg:求平均值
当然了,配和使用的还有分组 group by,以及对聚合函数结果做筛选条件的having子句。
二 聚合函数实例
三 group by 分组,having 子句
1、group by 分组
例如,在 t_user_main 中,按 f_userName 进行分组,形同名字的进行年龄求和。
在实际运用中,会有按部分分类统计年龄,生日,工资水平等等。
group by,聚合函数,having自己一起使用筛选查询。
该语句的含义为:按用户名分组,用户 id 不等 6,条件筛选分组求和后的年龄大于 28 的结果集。
2、where 与 having的比较
having 是对聚合函数求值结果进行筛选,在 where 之后,一般是使用 where 筛选掉一部分结果后用聚合函数计算,
再用 having 子句对聚合结果做再次的筛选。总之,having 用于聚合函数。
还没有评论,来说两句吧...