转自:https://www.cnblogs.com/vigarbuaa/archive/2012/06/25/2561225.html

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)
from emp
group by deptno;

  

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 表达式错误的解释的更多相关文章

  1. 关于ORA-00979 不是 GROUP BY 表达式错误的解释

    ORA-00979 不是 GROUP BY 表达式”这个错误,和我前面介绍的另外一个错误ORA-00937一样使很多初学oracle的人爱犯的. 我在介绍使用聚合函数中用group by来分组数据时特 ...

  2. Oracle报错:不是GROUP BY 表达式

    报错:不是GROUP BY 表达式 实例:select sum(hwjz),rq from JcChargeInfo where 1=1  group by rq order by jcchargec ...

  3. 报错:不是GROUP BY 表达式

    oracle库中:group by后面必须加上你select后面所查询的所有除聚合函数之外的所有字段. 解决方法:将group by放入子查询中使用或者将select后面的所有查询字段放入group ...

  4. 关于AX 2012 SSRS 导出PDF时出现group by 分页错误的情况

    近期,在AX  2012 上一个二次开发的报表出现了一个奇怪的现象,报表设计正常,分组.分页设计正常, 但出现问题在,当报表在AX 上打开,按dataareaid 分页是正常的,如下图中title中的 ...

  5. ORA-10922 Temporary tablespace group is empty错误

    错误--练习查询,发现报错: SQL>  select * from range_list_part_tab where id=100000Execution Plan------------- ...

  6. Hive Group By 常见错误

    Expression not in GROUP BY key ‘ xxx’ 遇到这么一个需求,输入数据为一个ID对应多个name,要求输出数据为ID是唯一的,name随便取一个就可以. 执行以下hiv ...

  7. MySQL出现GROUP BY clause错误解决办法

    #1)当mysql数据库出现如下错误:#which is not functionally dependent on columns in GROUP BY clause; this is incom ...

  8. 关于Linux上的SSH服务无法启动,提示“/var/empty/sshd must be owned by root and not group or world-writable”错误

    首先通过物理终端进入到linux上,手工检查ssh发现没运行# /etc/init.d/sshd statussshd is stopped 手动启动服务,发现报告权限错误.# /etc/init.d ...

  9. Oracle“ORA-00979:不是GROUP BY 表达式”解决方式

    今天在工作中碰到一个问题,用group by 语句进行分组时出现ORA-00979错误. 代码如下: select R.ORDER_NO, R.PRODUCT_CODE, R.REGION_NO, R ...

随机推荐

  1. BASE64使用场景

    BASE64使用场景 Base64就是一种基于64个可打印字符来表示二进制数据的方法. Base64编码是从二进制到字符的过程. 在项目中,将报文进行压缩.加密后,最后一步必然是使用base64编码, ...

  2. SpringMVC 给请求路径加上统一前缀

    最开始想到的是通过硬编码的方式手动在每个路径上加上前缀, 后面发现这种方式太不智能了,万一要修改那还不得改死, Spring既然支持EL表达式, 那能不能通过EL表达式的方式去读取配置文件里面的属性来 ...

  3. index row size 2720 exceeds maximum 2712 for index "xxx" ,Values larger than 1/3 of a buffer page cannot be indexed.

    记录一个bug情况: 我有个表NewTable,复合主键(slaveid,resid,owner) CREATE TABLE "public"."NewTable&quo ...

  4. Win10访问共享文件夹如何取消用户名密码

    win10中,开启guest(来宾)账户的步骤是: 右击win10左下角Windows的图标->计算机管理->计算机管理(本地)->系统工具->本地用户和组->用户-&g ...

  5. 转 : 请问mysql如何确定一个库是主库还是从库。

    select user,host from mysql.user;SELECT Repl_slave_priv,Repl_client_priv,super_priv,host FROM mysql. ...

  6. Python的传递引用

    在研究神经网络的反向传播的时候,不解一点,就是修改的是神经网络的paramets,为什么影响内部的神经元(层),比如Affine层:因为除了创建的时候,使用params作为Affine层的构造函数参数 ...

  7. WebAPI.请求(Request)的参数(Parameter)里包含特殊字符(#等)的正确处理方式 从客户端xx中检测到有潜在危险的Request.Form值

    事故现场 报错"从客户端 中检测到有潜在危险的Request.Form值" //后台代码 namespace Test { [RoutePrefix("TestClass ...

  8. Appium 退出和启动

    # 退出驱动driver.quit() # 退出当前应用driver.close_app() # 启动当前应用driver.launch_app() # 置于后台XX秒后恢复driver.backgr ...

  9. 编写vscode插件

    一.参考学习 https://www.cnblogs.com/liuxianan/p/vscode-plugin-publish.html https://code.visualstudio.com/ ...

  10. explain结果总结

    id: SELECT查询序列号(SELECT识别符),也就是一条语句中,该select是第几次出现.在此语句中,select就只有一个,所以是1. select_type:SELECT查询类型 常见取 ...