这个错误是因为在使用GROUP BY语句时,SELECT语句中的列名不一定都是聚合函数或者在GROUP BY子句中出现的,这就会导致Oracle无法确定如何对这些列进行分组,因此会出现ORA-00979错误。

要解决这个错误,可以将SELECT语句中的列名都放在GROUP BY子句中,或者将不需要分组的列名改为聚合函数的形式。例如:

错误示例:

SELECT name, age, COUNT(*) FROM student GROUP BY name;

正确示例:

SELECT name, age, COUNT(*) FROM student GROUP BY name, age;

或者:

SELECT MAX(name), MAX(age), COUNT(*) FROM student GROUP BY name, age;

会报错42000979 ORA-00979 不是 GROUP BY 表达式

原文地址: https://www.cveoy.top/t/topic/cvlc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录