6. 聚合函数
聚合函数也称为多行函数,也称为组函数。也就是把多条记录当做参数输入给函数,得到多条记录对应的单行结果。聚合函数是用来做纵向运算的函数:
- COUNT():统计指定列不为NULL的记录行数;
- MAX():计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;
- MIN():计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;
- SUM():计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;
- AVG():计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;
注意:
- 所有的聚合函数都会自动的忽略NULL(可以使用IFNULL()进行处理)
- 单行函数之间可以嵌套,但是聚合函数之间不能嵌套
- 多个多行函数可以在一起使用
- 使用组函数的时候可以使用WHERE筛选数据
- 组函数中的参数可以是字段,也可以是表达式(例如查询员工的平均年薪)
- 分组函数不能使用在where子句中
- COUNT
当需要纵向统计时可以使用COUNT()。
参数可以是*,1, 也可以是字段名称,也可以使用distinct去除重复的记录
- 查询emp表中记录数:
- 查询emp表中有佣金的人数:
注意,因为count()函数中给出的是comm列,那么只统计comm列非NULL的行数。
- 查询emp表中月薪大于2500的人数:
- 统计月薪与佣金之和大于2500元的人数:
- 查询EMP表中的所属部门的部门总数
- SUM和AVG
当需要纵向求和时使用sum()函数。
- 查询所有雇员月薪和:
- 查询所有雇员月薪和,以及所有雇员佣金和:
- 查询所有雇员月薪+佣金和:
- 统计所有员工平均工资:
- 统计所有员工平均津贴:
- 查询所有员工的平均年收入
- MAX和MIN
- 查询最高工资和最低工资:
- 查询所有员工的最大名字和最小名字
- 查询最大的雇佣日期和最小的雇佣日期
想要了解跟多关于Java培训课程内容欢迎关注尚硅谷Java培训,尚硅谷除了这些技术文章外还有免费的高质量Java培训课程视频供广大学员下载学习
上一篇: 大数据培训Sqoop命令&参数-merge
下一篇: Java培训学习之分组查询