博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于ORA-00979 不是 GROUP BY 表达式错误的解释
阅读量:6655 次
发布时间:2019-06-25

本文共 730 字,大约阅读时间需要 2 分钟。

ORA-00979 不是 GROUP BY 表达式”这个错误,和我前面介绍的另外一个错误一样使很多初学oracle的人爱犯的。

我在介绍特别说明了select 列表项中不存在的列可以出现在group by的列表项中,但反过来就不行了,在select列表项中出现的列必须全部出现在group by后面(聚合函数除外)

但一些朋友经常爱把select 列表项的中列忘了写在group by中。于是就出现了以上的错误ORA-00979 不是GROUP BY 表达式。

Oracle的中文错误提示信息翻译得非常不到位,面对着不是 GROUP BY 表达式很多朋友摸不着头脑,不知道oracle在说什么。

例如下面的例子就会出现这个错误:

SQL> select deptno,job,avg(sal)from empgroup 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  ;

  

转载地址:http://mxjto.baihongyu.com/

你可能感兴趣的文章
初次接触博客园
查看>>
python Super
查看>>
操作变量实际是通过地址来操作内存空间
查看>>
一些总结
查看>>
在windows 系统中搭建Python编程环境
查看>>
Javascript 引用类型
查看>>
webpack4 打包多页面应用
查看>>
[PAT乙级题解]——试密码
查看>>
Python 正则处理_re模块
查看>>
JavaScript获取浏览器语言
查看>>
CodeForces 590A Median Smoothing
查看>>
linux下查看运行进程详细信息
查看>>
[转载] 财经郎眼20120109:蒙牛的秘密
查看>>
[转载] 羽毛球——学打羽毛球 04 正手发高远球
查看>>
xen之基本搭建
查看>>
express框架中如何只执行一次res响应操作
查看>>
Entity Framework 延伸系列目录
查看>>
【总结整理】WebGIS学习-thinkGIS(二):关于level,比例尺scale,分辨率resolution...
查看>>
NOIP2005过河(青蛙过河)
查看>>
团队项目计划BACKLOG
查看>>