日期:2014-05-18  浏览次数:20477 次

一个用户表、一个好友表,怎么得到好友最多的前三个用户??
用户表:(user)
  id name age
  
  1 张三 12
  
  。。。

好友表:(friend)

  id name u_id

  1 111 4
 
  。。。


其中好友表中的u_id字段是 用户表id的一个外键。

怎么求出 用户表中 好友最多的 前三个用户???

------解决方案--------------------
SQL code

select * from [user] a, [friend] b
where a.id=b.u_id and a.id in(
    select top 3 u_id, count(*) ct
    from friend
    group by u_id
    order by ct desc
)