1. 程式人生 > 其它 >關於 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