count()--不是单组分组函数
今天写了一句查询语句,里面涉及到count()统计的使用,刚开始查询的时候老是弹出“什么不是单组分组函数”。百度了一下才知道原来是语法错误了。
select count(),字段1,字段2....涉及多个字段的时候要使用group by 分组,而且group by 后面的就是count()除外的字段名。
实例:select deptno,count(empno) from emp;
报错:不是单组分组函数
原因:
1, 如果程序中使用了分组函数,则有两种情况可以使用:
程序中存在group by,并指定了分组条件,这样可以将分组条件一起查询出来
改为:select deptno,count(empno) from emp group by deptno;
如果不使用分组的活,则只能单独使用分组函数
改为:select count(empno) from emp;
2, 在使用分组函数的时候,不能出现分组条件之外的字段
总结,count()之外的字段要写在group by 后面。