select DXBS,avg(1 - round(sqrt(sum((FHYC_SB - FHYC_TQ) / nullif(FHYC_TQ, 0) *
(FHYC_SB - FHYC_TQ) / nullif(FHYC_TQ, 0) ) / 96),10)) ZQL
from mw_app.PM_BZ_DC_FHYCFZSJ where
to_char(t_id,'yyyy-MM')=to_char(:YF,'yyyy-MM') GROUP BY DXBS
我执行这条sql语句报“not a single-group group function” 请问这是什么原因
(FHYC_SB - FHYC_TQ) / nullif(FHYC_TQ, 0) ) / 96),10)) ZQL
from mw_app.PM_BZ_DC_FHYCFZSJ where
to_char(t_id,'yyyy-MM')=to_char(:YF,'yyyy-MM') GROUP BY DXBS
我执行这条sql语句报“not a single-group group function” 请问这是什么原因
select DXBS,
avg(1 - round(sqrt(sum((FHYC_SB - FHYC_TQ) / nullif(FHYC_TQ, 0) *
(FHYC_SB - FHYC_TQ) / nullif(FHYC_TQ, 0) ) / 96),10)) ZQL
from mw_app.PM_BZ_DC_FHYCFZSJ
where to_char(t_id,'yyyy-MM')=to_char(:YF,'yyyy-MM')
GROUP BY DXBS
问题出在round()函数里头的表达式not a single-group group function报错的原因是:用了分组函数,除了分组以外的列都要写在group by 子名中
select DXBS,avg(1 - round(sqrt(sum((FHYC_SB - FHYC_TQ) / nullif(FHYC_TQ, 0) *
(FHYC_SB - FHYC_TQ) / nullif(FHYC_TQ, 0) ) / 96),10)) ZQL
from mw_app.PM_BZ_DC_FHYCFZSJ where
to_char(t_id,'yyyy-MM')=to_char(:YF,'yyyy-MM') GROUP BY DXBS
就是每个字段,要么出现在聚合函数中,要么出现在GROUP BY子句中。不能出现一个或多个字段,它在上述两个位置都没有出现。