使用聚合函数中用group by来分组数据时特别说明了select 列表项中不存在的列可以出现在group by的列表项中,但反过来就不行了,在select列表项中出现的列必须全部出现在group by后面(聚合函数除外)
但一些朋友经常爱把select 列表项的中列忘了写在group by中。于是就出现了以上的错误ORA-00979 不是 GROUP BY 表达式。
比如:
select deptno,job,sum(sal) from emp group by deptno;
你要查询deptno和job,但是在group by中你只写了deptno,所以会报错
正确的写法:
select deptno,job,sum(sal) from emp group by deptno,job;