有这样一个表,表里有论坛ID,用户名称这两个字段bid       userid
1068 寒烟翠湖主
1068 慧子
1068 金山浪子
1068 忘尘枫林
1068 扬~~风~~
1091 dawei
1091 yaoyuan
1091 白絮
............
select count(userid) from B_Users where bid='1068' ,目前通过这句只能查询单个论坛的成员数
我想显示前10的最受欢迎论坛的排行,请问怎么实现呢,也就是说根据成员数最多的排序,显示论坛出来

解决方案 »

  1.   


    select top 10 * from(select count(userid),bid from B_Users group by bid order by count(userid) desc)
      

  2.   

    select top 10 * from(select count(userid),bid from B_Users group by bid order by count(userid) desc)
    顶!!
      

  3.   

    SELECT top 10 [bid] from [B_Users] group by bid order by count(bid) desc
      

  4.   

    SELECT Top 10 bid ,count(userid) from B_Users
    group by bid
      

  5.   

    select top 10 * from(select count(userid),bid from B_Users group by bid order by count(userid) desc)
      

  6.   

    select top 10 * from(select count(userid),bid from B_Users group by bid order by count(userid) desc)
    这句运行了 报这样的错哦
    The ORDER BY clause is invalid in views, inline functions, derived tables, and subqueries, unless TOP is also specified.
      

  7.   


    select top 10 * from(select top 10 count(userid) u_num,bid from B_Users group by bid order by u_num desc) t