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 中打开 →

同一数据库的其他条目