日期:2014-05-16  浏览次数:20483 次

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 后面。