select top 3 * from 表 a where 课号 = a.课号 order by 成绩 desc
没有子查询,用where 课号 = a.课号是没有意义的,该句是先选出结果再TOP 3为去成绩前三名的记录select 学号,课号,成绩
from 表 a
where 学号 in (select top 3 学号 from 表 a where 课号 = a.课号 order by 成绩 desc)
是确定前三名的学号,条件是学号为KEY二者效果是一样的,第一句少一此扫描所以速度要快