Mysql 多个count查询结果返回错误,求助,谢谢
表结构
表user (用户表) 略...
表activity (活动表) 略...
表my_calendar_subscribe (用户关注活动)
id(自增id), tempid (userid), activity(活动id)
表my_calendar_sign(用户加入活动)
id(自增id), tempid(userid), activity(活动id)
目标:
查询某userid的加入活动列表,以及其中每个活动的当前关注人数和加入人数。
问题
查询某userid的加入活动列表,以及其中每个活动的当前关注人数
select
a.activity,
count(sub.activity) now_sub
from
my_calendar_sign a
left join
my_calendar_subscribe sub
on
a.activity = sub.activity
where
a.tempid = 6
group by
a.activity
---结果OK
查询某userid的加入活动列表,以及其中每个活动的当前加入人数
select
a.activity,
count(s.activity) now_sign
from
my_calendar_sign a
left join
my_calendar_sign s
on
a.activity = s.activity
where
a.tempid = 6
group by
a.activity
---结果OK
查询某userid的加入活动列表,以及其中每个活动的当前关注人数和加入人数
select
a.activity,
count(sub.activity) now_sub,
count(s.activity) now_sign
from
my_calendar_sign a
left join
my_calendar_subscribe sub
on
a.activity = sub.activity
left join
my_calendar_sign s
on
a.activity = s.activity
where
a.tempid = 6
group by
a.activity
---结果NOK
是不能重复group by同一个字段吗,
而且为什么只有其中一个结果行是有问题的?
求助,谢谢