不是单组分组函数和不是group表达式

来源:互联网 发布:在淘宝开网店流程图 编辑:程序博客网 时间:2024/06/03 00:36

oracle中经常会遇到这两个错误,其实是一个原理。

如下sql语句:

select deptno,job,avg(sal)  from emp;

数据库会报出:不是单组分组函数的错误,

指定了聚合函数,又同时制定了其他列,还想按照指定的列来分组,你到底想让oracle怎么做呢?这根本就得出结果。就像你需要统计班上男女生的人数,但能分组,只能在一条数据里表示出来,怎么能办得到呢?

select deptno,job,avg(sal)  from emp group by deptno;

会报出:不是group by表达式的错误

这样的sql语句,如果使用了聚合函数,同时使用了其他列的,那么没有用到聚合函数的那些列必须全部要用group by表达式。

原创粉丝点击