select
wxName as wxName,
groupId as groupId,
sum(case when newUser=0 THEN 1 else 0 END) as
oldCount,
sum(case when newUser=1 then 1 else 0 end) as
subscribeCount,
sum(case when states=0 then 1 else 0 end ) as
unSubscribeCount
from credit_wx.t_act_count_qrcode
where
t_act_count_qrcode.id=#{id}
group by groupId order by groupId desc
select
wxName as wxName,
groupId as groupId,
count(case when newUser=0 THEN 1 else null END) as
oldCount,
count(case when newUser=1 then 1 else null end) as
subscribeCount,
count(case when states=0 then 1 else null end ) as
unSubscribeCount
from credit_wx.t_act_count_qrcode
where
t_act_count_qrcode.Id=#{id}
group by groupId order by groupId desc
上面的两条sql得到的结果是一样的. 据说使用count()函数的效率会高些.