ORA-00979 错误,即 "不是 GROUP BY 表达式",是 Oracle 数据库在执行 SQL 查询时遇到的一个常见错误。这个错误通常发生在使用了 GROUP BY 子句的查询中,而 SELECT 列表中的某些表达式或列并没有包含在 GROUP BY 子句中,同时这些表达式或列也不是聚合函数(如 SUM(), COUNT(), AVG() 等)的一部分。 2. ...
在orcale中,在select列表项中出现的列必须全部出现在group by后面(聚合函数除外),这是与MySQL不同的地方。 如果没有全部出现在group by 后面,就会出现SQL 错误 [979] [42000]: ORA-00979: 不是 GROUP BY 表达式。 例如: 当我将select列全部添加到group by 后面后, 就可以出现结果了。 原文:(5条消息) 关于...
错误的,你要查询d.*的话,GROUP BY后面必须包括dept 表的所有字段。如果你只GROUP BY e.deptno,那么,这样写:SELECT e.deptno,avg(sal)FROM emp e JOIN dept dON e.deptno=d.deptnoGROUP BY e.deptnohaving avg(sal)=(select min(avg(sal)) from emp group by deptno)
having后面的东西换成where写吧,having我记得写的是组过滤的条件,我觉得你应该是要先连接查询,再分组,如果分组后还需要过滤就写having子句,如果不需要就不写having子句 SELECT COMPANY.STATE, COUNT(BILLS.NAME), SUM(BILLS.AMOUNT) FROM BILLS, COMPANY where COMPANY.NAME = BILLS.NAME GROUP by ...
这假定您要返回值/生效日期组合,该组合至少有一个记录为is_standard = 0。
出现SQL 错误 [979] [42000]: ORA-00979: 不是 GROUP BY 表达式, 在orcale中,在select列表项中出现的列必须全部出现在groupby后面(聚合函数除外),这是与MySQL不同的地方。如果没有全部出现在groupby后面,就会出现SQL错误[979][42000]:ORA-00979:不是GROUPBY表达式。例