Oracle的“ORA-00937: 不是单组分组函数” 如何解决?

Posted 小小邪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle的“ORA-00937: 不是单组分组函数” 如何解决?相关的知识,希望对你有一定的参考价值。

之前在编写oracle的sql语句时遇到这个问题,这里做个记录

问题描述:ORA-00937: 不是单组分组函数

问题原因:select语句中又在查询某一列的值,其中还有聚合函数

原先本人编写SQL是这样的

--查找配送单的收货配送点、送货配送点、配送包数量--
select R_DELIVEPOINT_ID,S_DELIVEPOINT_ID,SUM(PACK_NUM) PACK_NUM from TMS_DELIVERY;

其中,用到聚合函数SUM(),执行时导致这个问题

 

 如果要解决这个问题,SQL语法可以改成这样:

1)取消聚合函数

--查找配送单的收货配送点、送货配送点、配送包数量--
select R_DELIVEPOINT_ID,S_DELIVEPOINT_ID,PACK_NUM from TMS_DELIVERY;

2)支持聚合函数(添加group by)

--查找配送单的收货配送点、送货配送点、配送包数量--
select R_DELIVEPOINT_ID,S_DELIVEPOINT_ID,SUM(PACK_NUM) PACK_NUM  from TMS_DELIVERY
group by R_DELIVEPOINT_ID,S_DELIVEPOINT_ID;

参考网址:

https://blog.csdn.net/weixin_43705313/article/details/99290635

以上是关于Oracle的“ORA-00937: 不是单组分组函数” 如何解决?的主要内容,如果未能解决你的问题,请参考以下文章

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

Oracle中遇到的错误

怎么把数据从oracle11迁到oracle12

linux 怎么查找oracle11g的安装目录

oracle的数据怎么发送到接口

什么是oracle的实例