关于Oracle报错:ORA-00937

select min(avg(sal)) from emp group by deptno;

我记得group by 后的字段名不是必须要在select后么?
怎么写成select min(avg(sal)), deptno from emp group by deptno就报错了?

4个回答

你这到底是要算平均值,还是最小值呢

m0_37545767
wangwx0824 回复伪墨:额,希望能帮到你。select * from ( select avg(sal) as sal, deptno from emp group by deptno ) A where sal=( select min(sal) from ( select avg(sal) as sal, deptno from emp group by deptno )B )
大约 3 年之前 回复
qq997404392
伪墨 回复wangwx0824: 是每个部门的平均值,再选出这些平均值里的最小值
大约 3 年之前 回复
m0_37545767
wangwx0824 回复伪墨: select avg(sal),min(sal), deptno from emp group by deptno
大约 3 年之前 回复
qq997404392
伪墨 算每个部门的sal平均值,选出最小值
大约 3 年之前 回复

select min(a), deptno from (select avg(sal) a,deptno from emp group by deptno) d

亲测楼上这样写是对的

coder_lj
ACpig 1楼是对的
大约 3 年之前 回复

其实我向说的是select min(avg(sal)) from emp group by deptno;这样是对的,为什么select min(avg(sal)), deptno from emp group by deptno这样就错了···

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问