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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM