其他分享
首页 > 其他分享> > 关于 ORA-00937不是单组分组函数的解决办法

关于 ORA-00937不是单组分组函数的解决办法

作者:互联网

在项目中遇到了ora-00937 的问题,找了半天原来是聚合函数没有和group by 语句一起使用的原因,

select 列表项中除了包含聚合函数外,还包含了表的某些列,那么你将必须使用group by语句,否则语法通不过。

 

如 以下语法是编译不通过的

select j.d_jobid,count(p.d_lineid) as "num" ,
j.bdrq,j.downloaddate ,j.downloadname ,j.change_type
from b_mediumvoltagejob j,b_mediumvoltagejob_line p where
j.d_jobid=p.d_jobid and j.lxgd=1
因为select 语句中使用了聚合函数count,而且包含了d_jobid等表的其他列,那么这里必须使用group by分组函数。其实仔细想想原理还是很简单的,因为当你不使用group by 分组函数时,count函数没办法按照某一标准进行统计的,所以会报ora-00937错误。

 

 

结论:

select 列表项中除了包含聚合函数外,还包含了表的某些列,那么你将必须使用group by语句,
否则语法通不过。

 


————————————————
版权声明:本文为CSDN博主「xinglei200909931」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xinglei200909931/article/details/84617249

标签:语句,count,group,函数,jobid,单组分,00937,select,ORA
来源: https://www.cnblogs.com/javalinux/p/15988174.html