当前位置: 移动技术网 > IT编程>数据库>Oracle > Oracle的GROUPBY表达式

Oracle的GROUPBY表达式

2018年12月11日  | 移动技术网IT编程  | 我要评论

强心脏120320,腊月初旬,梁山伯与茱丽叶简谱

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;

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网