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

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/585500.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-12
下一篇 2022-04-12

发表评论

登录后才能评论

评论列表(0条)

保存