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


Demo:

 1 SELECT USER_ID,
 2        USER_NAME,
 3        USER_SEX,
 4        MAX(USER_AGE),
 5        SUM(USER_MONEY) AS USER_MONEY
 6        USER_TEL,
 7        USER_EMAIL,
 8        USER_ADD,
 9        USER_STATUS,
10   FROM USERS
11  ORDER BY USER_NAME, USER_SEX, USER_STATUS;
12 類似這種,多個字段的GROUP BY該怎么寫。 


1.USER_TEL,        USER_EMAIL,        USER_AD不是分組函數里的字段。
你是group by 的語法不太熟悉。
對於group by 語句,在查詢出來的字段中,只能包含group by后面跟的字段以及分組函數。。
就是說USER_NAME, USER_SEX, USER_STATUS;可以查詢,因為是分組字段
MAX(USER_AGE),        SUM(USER_MONEY) 可以使用因為是分組函數。
但是其他的字段什么都不是,所以報錯。。

2.簡單的來說 如果查詢字段中有sum、count類似的聚合函數 那么其他字段必須要在group by 中出現

再通俗的說 group by后面的字段 不能少於查詢中的非聚合函數字段

3.GROUP by 寫法,把在SELECT 中出現的字段,而有沒有用聚合函數的字段,都要列在GROUP BY 子句里

4.

 

5.


免責聲明!

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



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