关于ORA-00979 不是 GROUP BY 表达式错误的解释
2013-07-08 09:51
218 查看
http://blog.163.com/wkyuyang_001/blog/static/10802122820091745135193/
ORA-00979 不是 GROUP
BY 表达式”这个错误,和我前面介绍的另外一个错误ORA-00937一样使很多初学oracle的人爱犯的。
我在介绍使用聚合函数中用group
by来分组数据时特别说明了select 列表项中不存在的列可以出现在group
by的列表项中,但反过来就不行了,在select列表项中出现的列必须全部出现在group by后面(聚合函数除外)
但一些朋友经常爱把select 列表项的中列忘了写在group by中。于是就出现了以上的错误ORA-00979 不是 GROUP
BY表达式。
Oracle的中文错误提示信息翻译得非常不到位,面对着不是 GROUP BY 表达式很多朋友摸不着头脑,不知道oracle在说什么。
例如下面的例子就会出现这个错误:
SQL> select deptno,job,avg(sal)
2 from emp
3 group by deptno;
select deptno,job,avg(sal)
*
ERROR 位于第 1 行:
ORA-00979: 不是 GROUP BY 表达式
这里就是因为在select 列表像中出现了像deptno和job,而在group
by中并没有出现的缘故。
以上的错误纠正为:
Select deptno,job,avg(sal) from emp
Group by deptno,job;
ORA-00979 不是 GROUP
BY 表达式”这个错误,和我前面介绍的另外一个错误ORA-00937一样使很多初学oracle的人爱犯的。
我在介绍使用聚合函数中用group
by来分组数据时特别说明了select 列表项中不存在的列可以出现在group
by的列表项中,但反过来就不行了,在select列表项中出现的列必须全部出现在group by后面(聚合函数除外)
但一些朋友经常爱把select 列表项的中列忘了写在group by中。于是就出现了以上的错误ORA-00979 不是 GROUP
BY表达式。
Oracle的中文错误提示信息翻译得非常不到位,面对着不是 GROUP BY 表达式很多朋友摸不着头脑,不知道oracle在说什么。
例如下面的例子就会出现这个错误:
SQL> select deptno,job,avg(sal)
2 from emp
3 group by deptno;
select deptno,job,avg(sal)
*
ERROR 位于第 1 行:
ORA-00979: 不是 GROUP BY 表达式
这里就是因为在select 列表像中出现了像deptno和job,而在group
by中并没有出现的缘故。
以上的错误纠正为:
Select deptno,job,avg(sal) from emp
Group by deptno,job;
相关文章推荐
- [转]关于ORA-00979 不是 GROUP BY 表达式错误的解释
- 关于ORA-00979 不是 GROUP BY 表达式错误的解释
- [转]关于ORA-00979 不是 GROUP BY 表达式错误的解释
- 关于ORA-00979 不是 GROUP BY 表达式错误的解释:
- 关于ORA-00979 不是 GROUP BY 表达式错误的解释
- 关于ORA-00979 不是 GROUP BY 表达式错误的解释
- 关于ORA-00979 不是 GROUP BY 表达式错误的解释
- 关于ORA-00979 不是 GROUP BY 表达式错误的解释
- 关于ORA-00979 不是 GROUP BY 表达式错误的解释
- 关于ORA-00979 不是 GROUP BY 表达式错误的解释
- 关于ORA-00979 不是 GROUP BY 表达式错误的解释
- ORA-00979 不是 GROUP BY 表达式错误的解释
- 关于Oracle报错ORA-00979不是GROUP BY表达式
- 关于Oracle报错ORA-00979不是GROUP BY表达式
- Oracle 之 “ORA-00979:不是GROUP BY 表达式”
- ORA-00979 不是GROUP BY表达式
- ORA-00979:不是GROUP BY表达式
- Oracle 之 “ORA-00979:不是GROUP BY 表达式”
- sql:ORA-00979:不是GROUP BY 表达式
- ORA-00979 不是group by 表达式 .