select max(avg(sal)),deptno from emp group by deptno为什么报错不是单组分组函数
3个回答
2013-07-29
展开全部
不能对包含聚合或子查询的表达式执行聚合函数。也就是说max,min,avg是不能嵌套的。既然按部门进行分组,那么每个部分就会存在一个最大值和一个平均值select max(sal),avg(sal) ,deptno from emp group by deptno 如果你想要查哪个部门的平均值是最高的select max(maxsal),deptno from (select avg(sal),deptno from emp group by deptno) a
展开全部
1、聚合函数可以嵌套2次,所以max(avg(sal))没有问题。
2、提示ORA-00937: not a single-group group function,是因为这已经是两层关系了。进行拆分就是:
select max(a.str_avg),a.deptno from (select avg(sal) as str_avg,deptno from emp group by deptno) a group by a.deptno;
2、提示ORA-00937: not a single-group group function,是因为这已经是两层关系了。进行拆分就是:
select max(a.str_avg),a.deptno from (select avg(sal) as str_avg,deptno from emp group by deptno) a group by a.deptno;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-29
展开全部
max(avg(sal))没有意义
max(sal)或者avg(sal)
max(sal)或者avg(sal)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询