报错:不是单组分组函数
实例:select deptno,count(empno) from emp;
报错:不是单组分组函数
原因:
1、如果程序中使用了分组函数,则有两种情况可以使用:
程序中存在group by,并指定了分组条件,这样可以将分组条件一起查询出来
改为:
select deptno,count(empno) from emp group by deptno;
如果不使用分组的活,则只能单独使用分组函数
改为:
select count(empno) from emp;
2、可以使用多个分组函数,不仅在Oracle中使用,在mysql中也同样适用,例如在Oracle中使用如下:
select count(*),avg(sal) from emp group by deptno;
结果:
3、在使用分组函数的时候,不能出现分组条件之外的字段,当然分组函数和分组属性使用的不是一个表中的是可以的,Oracle中要求的比较严格,不过在mysql中没有那么严格,如果出现分组条件之外的字段,显示的是分组中的第一个符合条件的字段值,例如在mysql中执行:
select deptno,ename,count(*) from emp group by deptno;
mysql执行结果: