课程
/数据库
/Oracle
/Oracle高级查询
select DEPTNO, max(avg(sal)) from emp group by DEPTNO;
2017-03-22
源自:Oracle高级查询 2-9
正在回答
我是这样理解的:
group by deptno 会把所有数据按部门分成三组,max(avg(sal)) 是把每一组的avg(sal)拿来相比较,得出一个最大值。所以,同时查询deptno和max(avg(sal))时,经过分组,前者返回的是三个值,后者返回一个值。这两个字段无法在同一行显示出来,所以报错。
报错所指的不是单组分组函数就是在说deptno字段不是单组数据,要分三组显示。你可以试试改成 select max(deptno),... 应该就不会报错了。
个人理解,仅供参考。
prodave
举报
数据库开发中应用广泛的高级查询,本教程通过大量的案例详细讲解
1 回答嵌套分组函数的问题
5 回答关与分组函数嵌套问题
2 回答我想问一下大神们,where 后面不是不能和 组函数一块使用吗?
2 回答wm_concat 不是组函数么?为什么这里要用where,而不是having?
1 回答分组函数忽略空值问题