select top 2* from (select studentID,avg(score) from ScoreInfo where schoolYear='2012-2013' group by studentID) 
我想这样查询 但是一直报错

解决方案 »

  1.   

    SELECT TOP 2
            *
    FROM    ( SELECT    studentID ,
                        avgScore = AVG(score) --还有这儿最好给字段起个别名,否则前台调用时,就无法根据NAME来使用了
              FROM      ScoreInfo
              WHERE     schoolYear = '2012-2013'
              GROUP BY  studentID
            ) t --这儿需要加个表别名
      

  2.   


    --这样查询可以不用子查询,效果一样.select top 2 studentID,avg(score) as score  -->这个平均值最好加别名
    from ScoreInfo 
    where schoolYear='2012-2013' 
    group by studentID
    order by score--select top n 一般都要排序
      

  3.   

    如果FROM 直接跟的结果集的话加个别名就好了。像1楼那样。