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

2019-11-25  本文已影响0人  coderTG

实例:select deptno,count(empno) from emp;
报错:不是单组分组函数

原因:
1, 如果程序中使用了分组函数,则有两种情况可以使用:

程序中存在group by,并指定了分组条件,这样可以将分组条件一起查询出来

改为:
select deptno,count(empno) from emp group by deptno;

如果不使用分组的活,则只能单独使用分组函数

改为:
select count(empno) from emp;

2, 在使用分组函数的时候,不能出现分组条件之外的字段

总结:在select需要查询的语句中选中的字段,必须出现在group by子句中

顺利分组

SELECT
listagg(t.NAME , ',') WITHIN GROUP (ORDER BY a.CREATE_DATE) AS tName
FROM
AMASSRH.INFO_TB_SUBJECT a
LEFT JOIN AMASSRH.INFO_TB_BUILDING b ON a.BUILDING_ID = b.id
LEFT JOIN AMASSRH.CM_TB_TAG_SUBJECT_RELATION g ON a.id = g.SUBJECT_ID
LEFT JOIN AMASSRH.CM_TB_TAG t ON g.TAG_ID = t.id
WHERE
a.DEL_FLAG = '0'
AND b.DEL_FLAG = '0'
AND g.DEL_FLAG = '0'
AND a.PLACE_TYPE = '01'
AND t.DEL_FLAG = '0'
AND a.id = '49'

上一篇下一篇

猜你喜欢

热点阅读