DBAtlas · データベース運用アトラス

ORA-00979: not a GROUP BY expression(GROUP BY の式ではない)

Oracle

意味

SELECT リストで集計関数 (SUM、COUNT など) とともに集計されていない列が使われたが、その列が GROUP BY 句に追加されていない。Oracle はその列をどうグループ化すべきかわからない。

原因

SELECT にあるが GROUP BY にない列、集計関数の外にある式が GROUP BY リストにない、HAVING または SELECT 式での不整合。

対処方法

集計されていないすべての列を GROUP BY リストに追加する: SELECT department, COUNT(*) FROM employee GROUP BY department; 代わりに、その列も集計関数 (MAX、MIN) で囲むか、分析関数 (OVER()) でグループ化を設計し直す。

DBAtlas で開く →

同じデータベースの他の項目