关于ORA-00979 不是 GROUP BY 表达式错误的解释
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;
另外的一种解决方法,字段尽量少带,
select "COUNT"("ID") from (SELECT UNIONID, "ID" FROM WX_ORDER WHERE PAY_STATUS=0 and ORDER_STATUS=0 and CREATE_TIME BETWEEN 1539705600 AND 1539791999) GROUP BY UNIONID ;
关于ORA-00979 不是 GROUP BY 表达式错误的解释的更多相关文章
- [转]关于ORA-00979 不是 GROUP BY 表达式错误的解释
转自:https://www.cnblogs.com/vigarbuaa/archive/2012/06/25/2561225.html ORA-00979 不是 GROUP BY 表达式”这个错误, ...
- Oracle报错:不是GROUP BY 表达式
报错:不是GROUP BY 表达式 实例:select sum(hwjz),rq from JcChargeInfo where 1=1 group by rq order by jcchargec ...
- 报错:不是GROUP BY 表达式
oracle库中:group by后面必须加上你select后面所查询的所有除聚合函数之外的所有字段. 解决方法:将group by放入子查询中使用或者将select后面的所有查询字段放入group ...
- [转载] 关于出现“使用 UNION、INTERSECT 或 EXCEPT 运算符合并的所有查询必须在其目标列表中有相同数目的表达式”错误的可能原因
1. 对于该问题确实存在UNION前后SELECT语句中的列数不同导致:2. 以下为个人遇到的一种可能:在项目开发中由于有张表是动态的,即有个基础表,其他的表按年月根据基础表来生成动态表,动态表结构和 ...
- VS2015 调试中断点失效或表达式错误的解决办法
题描述:在调试前加了断点,但debug时红色的断点变成透明的圆圈加一个感叹号,执行到该处时也不会停止. 这个问题遇到过几次了,前几次都没怎么注意,有时候是因为复制粘贴了某段代码后就这样了,然后点击撤销 ...
- 解决Affter Effect汉化版(cc2015之后的版本)中出现表达式错误的一种常用方法
解决Affter Effect出现表达式错误的一种常用方法 问题:汉化版的AE中,使用模板会出现表达式错误之类的提示,可能会导致某些设置或者效果失效 解决办法: 方法一.将配置文件中的zh_CN 改为 ...
- Oracle“ORA-00979:不是GROUP BY 表达式”解决方式
今天在工作中碰到一个问题,用group by 语句进行分组时出现ORA-00979错误. 代码如下: select R.ORDER_NO, R.PRODUCT_CODE, R.REGION_NO, R ...
- ORA-00979: 不是 GROUP BY 表达式
在oracle数据库中,sql语句中group by子句报错,原因是select 存在列字段,而group by中不存在.
- 报错信息:ORA-00979:不是GROUP BY表达式
如图所示 参考:https://blog.csdn.net/linan0930/article/details/16508025 解决方案:即select 列表项中不存在的列可以出现在group by ...
随机推荐
- windows下常用的几个批处理脚本
1.windows下对比两个文件内容,有差异则执行一个任务: 适用场景:比如你的数据库备份结果的日志每天会形成一个文件,如下图,你可以通过此脚本检测到文件的变化,并执行发送告警邮件通知你数据库备份异常 ...
- 对象new和不new的理解
1.现象 在一个线程类[QObject]中声明一个对象QTimer,[不new,直接声明],在槽函数中timer.start() 报警告:不能跨线程调用对象 2.分析 不使用new的方式,直接A a; ...
- Python3基础 list pop(含参) 取出列表中的指定索引的元素
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- <Python>判断变量是否是DataFrame 或者 Series
https://stackoverflow.com/questions/14808945/check-if-variable-is-dataframe Use the built-in isinsta ...
- e信与酸酸结合开wifi使用路由器上网
关于e信"正常情况下"使用路由器网上是有方法的,入户线插上lan,电脑接lan拨号 我想要说的是连接e信后使用路由器上网,并且是绝对正常的思维 手机也是可以连接上wifi,但是手机 ...
- How to search for ? (question mark) in Excel
The ? is a wildcard which represents a single character, and the * is a wildcard character that repr ...
- 自定义Exception:MVC抛出自定义异常,并以Json方式返回
相关链接 优点: 可以统一处理所有页面的异常,对所有需要返回json数据的异常,都用同样的方法throw new DVMException().页面展示,controller的错误处理方式一样 节省编 ...
- [Err] 1449 - The user specified as a definer ('rybhe'@'%') does not exist
转载: 最近在做一个项目,由于服务器切换,所以需要将原有服务器的mysql数据表以及存储过程导入到另一个服务器的mysql数据库中.导入完成之后以为一切是那么的简单,却没有想到总还是出现了一些莫名其妙 ...
- 2、My Scripts
http://www.cnblogs.com/image-eye/archive/2011/10/26/2220405.html 注释详解 1.打印选择菜单,按照选择项一键安装不同的web服 ...
- Java—网络编程基础
URL的应用: 获得网页源代码可以用字节流.字符流,流的获取可以用url.openStream(),也可以用con.getInputStream(): 字节流: URL url = new URL(& ...