聚合函数
- 聚合函数,又称作分组函数、多行函数、集合函数。
- 需要聚合函数进行处理的情况:
- 当我们在查询信息的时候,需要做一些统计,比如:统计某数据列的平均值,统计某数据列的总数等情况
- 需要统计的数据并不能在表中直观列出,而是要根据现有的数据计算得到结果
- 使用聚合函数实现进一步处理,即:将表的全部数据划分为几组函数,每组数据统计出一个结果
- 由于是多行数据参与运算返回一行结果,也称作分组函数,多行函数,集合函数。
MAX&MIN
- MAX/MIN用来取得列或表达式的最大/最小值
- 同样也可以用来统计 任何数据类型,包括数字,字符和日期
eg:获取机构下的最高薪水和最低薪水
select MAX(sal),MIN(sal) from emp
eg:获取最早和最晚的入职时间
select MAX(hiredate),MIN(hiredate)from emp
AVG&SUM
- AVG/SUM用来统计列或表达式的平均值/总和
- 只能操作数字类型
- 忽略NULL值
eg:获得机构下全部职员的平均薪水和薪水总和
select AVG(sal),SUM(sal)from emp
COUNT
- COUNT用来计算表中的记录条数
- 忽略NULL值
eg:获取职员表中一共有多少条记录
select COUNT(*)total_num from emp
eg:获得职员表中有多少人是由职位的(忽略那些没有职位的)
select COUNT(job)total_job from emp
聚合函数对空值的处理
聚合函数忽略NULL值
PS:特别的,在Oracle数据库中,存在一个函数NVL。
- 格式为:NVL( string1, replace_with)。
- 功能是如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL。
eg:
select AVG(comun)avg_comun from emp;
Oracle中NVL的使用
select AVG(NVL(comun,0))avg_comun from emp;