日期:2014-05-18 浏览次数:20384 次
select a.userid,count(*) as cnt --转发条数 from a join b on a.messageid = b.messageid group by a.userid
------解决方案--------------------
select a.他转发别人的条数, b.别人转发的条数 from (select messageid,count(1) as 他转发别人的条数 group by messageid)a left join (select messageid,count(1) as 别人转发的条数 group by messageid)b on a.messageid = b.messageid
------解决方案--------------------
-- 查询有多少人转发了他的信息(查人数 同一个人转发了多次只能算一个人) select count(distinct b.UserId) s1 from a inner join b on a.Messageid=b.Messageid where a.UserId=[指定的ID] -- 查询他转发了多少个人的信息(查人数 同一个人转发了多次只能算一个人) select count(distinct a.UserId) s2 from b inner join a on b.Messageid=a.Messageid where b.UserId=[指定的ID]
------解决方案--------------------
-- 查询a表中前10条,别人没有转发过的信息 select top 10 a.* from a left join b on a.Messageid=b.Messageid where b.Messageid is null