select max(avg(sal)),deptno from emp group by deptno为什么报错不是单组分组函数

 我来答
匿名用户
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
jimitang2012
2017-07-29
知道答主
回答量:1
采纳率:0%
帮助的人:977
展开全部
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;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-29
展开全部
max(avg(sal))没有意义
max(sal)或者avg(sal)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式