DECLARE @N int
select @N=COUNT(*) from Student 
select top @N*2% StuNo  from 成绩表 order by Score我要输出班级前2%学生的成绩,但是各个班人数是不一样的,所以我需要个动态的取法

解决方案 »

  1.   


    --2005及以上
    DECLARE @N int
    select @N=COUNT(*) from Student 
    select top (@N*2%) StuNo  from 成绩表 order by Score
      

  2.   

    哦,谢谢啦,一直没加括号,SQL报错
      

  3.   

    DECLARE @N int
    select @N=COUNT(*) from Student 
    select top (@N*2/100) PERCENT StuNo  from 成绩表 order by Score
    这样?
      

  4.   

    总记录*2/100--查询总计算的百分比 用 top +PERCENT
      

  5.   

    select top (@N*2/100) PERCENT StuNo  from 成绩表 order by Score