執行SQL> select ename,sum_sal from (select ename,sum(sal) sum_sal from ( select * from emp)) group by ename;
select ename,sum_sal from (select ename,sum(sal) sum_sal from ( select * from emp)) group by ename
*
ERROR at line 1:
ORA-00937: not a single-group group function
原因:
句話不會運行,因為deptno要求每行都顯示,而sum要求統計后再顯示,違反了原則。在有組函數的select中,不是組函數的列,一定要放在group by子句中。
1、在有組函數的select中,不是組函數的列,一定要放在group by子句中。
問題解決:
select ename,sum_sal from (select ename,sum(sal) sum_sal from ( select * from emp) group by ename) ;