6.6 分组函数在使用时需要注意的点
第一点:分组函数自动忽略NULL,你不需要提前对NULL进行处理。
select sum(comm) from emp;
select count(comm) from emp;
select avg(comm) from emp;
第二点:分组函数中
count(*)
和
count(具体字段)
有什么区别?
count(*)
:统计表当中的总行数。(只要有一行数据count则++,因为每一行记录不可能都为NULL,一行数据中有一列不为NULL,则这行数据就是有效的。)
count(具体字段)
:表示统计该字段下所有不为NULL的元素的总数。
select count(*) from emp;
select count(comm) from emp;
第三点:分组函数不能够直接使用在where子句中。
找出比最低工资高的员工信息:
select ename,sal from emp where sal > min(sal);
在
where
子句后使用分组函数,会出现错误。
第四点:所有的分组函数可以组合起来一起用。
select sum(sal),min(sal),max(sal),avg(sal),count(*) from emp;