select * from 用户表里 where UID in (select top 10 UID from 帖子表 group by UID order by count(1) desc)

解决方案 »

  1.   

    参这个create table grade --学生成绩表
    (
    s_id int,
    c_id int,
    cj int
    )--测试数据
    insert student values(1,'A')
    insert student values(2,'B')
    insert student values(3,'C')
    insert student values(4,'D')
    insert student values(5,'E')insert class values(1,'历史')
    insert class values(2,'数学')insert grade values(1,1,60)
    insert grade values(2,1,70)
    insert grade values(3,1,80)
    insert grade values(4,1,90)
    insert grade values(5,1,100)
    insert grade values(1,2,85)
    insert grade values(2,2,67)
    insert grade values(3,2,94)
    insert grade values(4,2,63)
    insert grade values(5,2,87)
    select a.c_id,a.s_id,a.cj from grade a 
    join grade b
    on a.c_id = b.c_id 
    group by a.c_id,a.s_id,a.cj
    having count(case when a.cj <= b.cj then 1 else null end) < = 5 --可动态修改
    order by a.c_id,a.cj desc
      

  2.   

    select top 10 a.学校名称 , b.name , count(*) cnt from 学校表 a,用户表 b , 帖子表 c where a.schoolid = b.schoolid and b.UID = c.UID group by a.学校名称 order by cnt desc
      

  3.   

    select * from 用户表 where id in (select top 10 id,count(*) from 帖子表 group by id having count(*)>10 order by count(*) desc )