MySql(6)------SQL基础之聚合函数、分组、having子句
2016-08-18 14:07
381 查看
在查询中,统计,求和等等是很常用的,通过聚合函数完成能十分省事,
如果没有聚合函数,可能需要各种子查询,各种sql嵌套才能完成,
但是有了聚合函数,很多问题迎刃而解。
聚合函数分类:
sum(求和)
max(求最大值)
min(求最小值)
count(统计条数)
avg(求平均值)
当然了,配和使用的还有分组group by ,以及对聚合函数结果做筛选条件的having子句。
先分析聚合函数,例如:
group by 的使用:
例如,在t_user_main中,按f_userName进行分组,形同名字的进行年龄求和:
在实际运用中,会有按部分分类统计年龄,生日,工资水平等等。
group by ,聚合函数,having自己一起使用筛选查询:
该语句的含义为:按用户名分组,用户id不等6,条件筛选分组求和后的年龄大于28的结果集。
where 与 having的比较:
having是对聚合函数求值结果进行筛选,在where之后,一般是使用where筛选掉一部分结果后用聚合函数
计算,再用having子句对聚合结果做再次的筛选。总之,having用于聚合函数。
如果没有聚合函数,可能需要各种子查询,各种sql嵌套才能完成,
但是有了聚合函数,很多问题迎刃而解。
聚合函数分类:
sum(求和)
max(求最大值)
min(求最小值)
count(统计条数)
avg(求平均值)
当然了,配和使用的还有分组group by ,以及对聚合函数结果做筛选条件的having子句。
先分析聚合函数,例如:
group by 的使用:
例如,在t_user_main中,按f_userName进行分组,形同名字的进行年龄求和:
在实际运用中,会有按部分分类统计年龄,生日,工资水平等等。
group by ,聚合函数,having自己一起使用筛选查询:
该语句的含义为:按用户名分组,用户id不等6,条件筛选分组求和后的年龄大于28的结果集。
where 与 having的比较:
having是对聚合函数求值结果进行筛选,在where之后,一般是使用where筛选掉一部分结果后用聚合函数
计算,再用having子句对聚合结果做再次的筛选。总之,having用于聚合函数。
相关文章推荐
- MYSQL基础_聚合函数_分组和多表连接查询
- SQL的聚合函数与Group By和Having子句
- oracle 基础SQL语句 多表查询 子查询 分页查询 合并查询 分组查询 group by having order by
- SQL基础(一八)--- 数据分组与聚合函数
- mysql基础知识理解和sql题讲解分析面试实战(一)之groupBy&&having
- MySQL基础教程31-高级查询-having子句和order by子句
- Hive常用的基础sql语法--聚合函数,分组函数的使用和多表查询
- SQL HAVING 子句
- sql语句:having子句与where子句用法与区别
- SQL语句中的Having子句与where子句之区别
- SQL 4. 数据分组 - 2 数据分组与聚合函数
- SQL基础-->分组与分组函数
- SQL基础-->分组与分组函数
- zz[SQL基础]Group by和Having
- Mysql基础(一):SQL基础
- mysql分组排序取前N条记录的最简洁的单条sql !
- sql语句学习笔记(10)-group by(因为该列没有包含在聚合函数或 GROUP BY 子句中。聚合函数不能出现在where中)
- mysql与oracle中分组、聚合函数的区别!
- SQL基础-->分组与分组函数
- 数据库概论(实验四2) SQL查询(排序、集函数和分组子句的应用)