我使用Mysql時有一個查詢適用於我。 現在我得到甲骨文這個錯誤:查詢ORA-00979中的錯誤:不是GROUP BY表達式
ORA-00979: not a GROUP BY expression
這是查詢:
SELECT o.neNesId, COUNT(o)
FROM ParNe AS o
WHERE o.neBanId = :neBanId
GROUP BY o.neNesId
任何想法,爲什麼我有這樣的錯誤?
我使用Mysql時有一個查詢適用於我。 現在我得到甲骨文這個錯誤:查詢ORA-00979中的錯誤:不是GROUP BY表達式
ORA-00979: not a GROUP BY expression
這是查詢:
SELECT o.neNesId, COUNT(o)
FROM ParNe AS o
WHERE o.neBanId = :neBanId
GROUP BY o.neNesId
任何想法,爲什麼我有這樣的錯誤?
您所查詢的是:
SELECT o.neNesId, COUNT(o)
FROM ParNe AS o
WHERE o.neBanId = :neBanId
GROUP BY o.neNesId
我的猜測是,o.o
不是有效的領域。所以,你有一個表名,列名是預期的。 試試這個:
SELECT o.neNesId, COUNT(*)
FROM ParNe AS o
WHERE o.neBanId = :neBanId
GROUP BY o.neNesId
或用有效的列名替換*
。
嘗試count(1)。
哦,我必須在這裏寫更多,因爲我的回答對於計算器來說太短了。
爲什麼投下了投票?計數(1)而不是計數(o)應該做的伎倆。是否因爲我沒有重寫他的整個查詢? 還有一個問題是,他從一個不理解參數':neBanId'的工具運行他的查詢。 –
您需要按照Gordon的例子選擇count(*)或count(1)。如果你堅持使用您的查詢語法,這是沒有必要的,然後試試這個:
SELECT neNesId, count(o) AS o_cnt
FROM
( -- your query here --
SELECT 1 neNesId, 2 AS o FROM dual
)
GROUP BY neNesId
/
遺憾的是它不」工作既不*也不與有效的列名.thanks – Amine
@Amine。 。 。你確定'group by'正在處理中嗎?如果'select'中的列不在'group by'中,那麼可能會出現這種類型的錯誤。 –
當我使用Mysql時,它正在工作,當我將數據庫更改爲Oracle時,出現此錯誤。 – Amine