比较一下两种区别:
>>select count(comm) number
FROM t_employee;
注意:4条数据记录依次是:300.00,500.00,1400.00,0.00。虽然COUNT(comm)在具体运行时,忽略了值为NULL的数据记录,但是却没有忽略值为0的数据记录,不符合实际需求。
关于统计函数的注意点:
如果所操作的表中没有任何数据记录,则COUNT()函数返回数据0,而其他函数则返回NULL。
分组数据查询--实现统计功能的分组查询
>>select deptno,GROUP_CONCAT(ename) enames,count(ename) number
from t_employee
group by deptno;
分组数据查询--实现多个字段分组查询
>>select deptno,hiredate,GROUP_CONCAT(ename) enames,COUNT(ename)
from t_employee
groub by deptno,hiredate;
分组数据查询--实现HAVING子句限定分组查询
在MYSQL中如果相对分组进行条件限制,绝不能通过关键字WHERE来实现,因为该关键字主要用来实现条件限制数据记录。为了解决上述问题,MYSQL专门提供了关键字HAVING来实现条件限制分组数据记录。
>>select deptno,AVG(sal) average,GROUP_CONCAT(ename) enames,COUNT(ename) number
from t_employee
group by deptno
HAVING AVG(sal)>2000;
时间: 2024-11-22 21:14:02