不是Group by 的表达式

select count(t.bmwyh007) as col_0_0_,
(select count(a.bmwyh007)
from AJJTJZH a
where a.kscj007>=60
and a.sd010=t.sd010
and a.sd010='xs') as col_1_0_,
t.sd010 as col_2_0_
from AJJTJZH t where t.pxxz010 in ('1' , '2') and t.sd010='xs'
group by t.sd010

不是Group by 的表达式
怎么回事啊?

这个XN 或者要在GROUP BY 后面的分组列表中,
或者在要加上聚合函数,如MAX(XN),MIN(SN)等
即,
这样:
insert into bzrpcxt_pm select bzrxm as xingming ,count(bzrxm) as xiangshu,sum(fs) as zongfen,sum(fs)/count(bzrxm),xn=MAX(XN) from bzrpcxt_cc group by bzrxm order by 1,2

或者:
insert into bzrpcxt_pm select bzrxm as xingming ,count(bzrxm) as xiangshu,sum(fs) as zongfen,sum(fs)/count(bzrxm),xn=MAX(XN) from bzrpcxt_cc group by bzrxm,XN order by 1,2
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-04-13
使用group by 子句,select 后面只能跟group by子句中的列或组函数本回答被网友采纳
第2个回答  2010-12-07
select count(*) 返回的是一个值, 而 t.sd010 可能返回的不是一个值 那这个sql语句就不正确了
相似回答