ORA-00937:不是单组分组函数

例子:

SELECT COUNT(*) BZC144, NVL(SUM(BCF125), 0) BZC145, CF11.AAA020
FROM CF11, CF12
WHERE CF11.BCF110 = CF12.BCF110
AND CF11.AAE100 = '1';

在Oracle中PLSQL执行上面的语句就会出现,ORA-00937:不是单组分组函数.

原因是:

数据中有这么一条规则:出现在select列表中的字段或者出现在order by后面的字段,如果不是包含在分组函数中,那么该字段必须同时在group by子句中出现。

SQL改成

SELECT COUNT(*) BZC144, NVL(SUM(BCF125), 0) BZC145, CF11.AAA020
FROM CF11, CF12
WHERE CF11.BCF110 = CF12.BCF110
AND CF11.AAE100 = '1'
GROUP BY CF11.AAA020;

就好了。

你可能感兴趣的:(ORA-00937,不是单组分组函数)