ORA-00937: 不是單組分組函數 .

最近寫SQL的時候,有遇到過報出 ORA-00937的問題。oracle

 

解釋:函數

      

       select 列表項中除了包含聚合函數外,還包含了表的某些列,那麼你將必須使用group by語句,不然語法通不過。spa

例如:select

SQL> 語法

1 select deptno,job,avg(sal)統計

2 from emp數據

3 ;錯誤

ERROR 位於第 1 :

ORA-00937: 非單組分組函數

 

 

       其實這裏也很是容易理解,你既然指定了聚合函數,又同時制定了其餘列,還想不按照指定的列來分組,你到底想讓oracle怎麼作呢?

       這根本就得不出結果。就像你須要統計班上男女生的人數,可是又不能分組,只能在一條數據裏表示出來,怎麼能辦獲得呢?

 

因此這裏的group by是必須的。

上面的錯誤糾正爲:

select deptno,job,avg(sal) from emp group by deptno,job;

OK

相關文章
相關標籤/搜索