MySQL按类别之用一条SQL语句查询出每个班前10名学生数据

之前面试碰到过一道题:SQL查询每个班级前10名的学生

这样的题目其实没有多少技术含量,就是一个sql写法,有点像脑筋急转弯,但是当时一时没想出来。

不过还有点意思,找了找答案,记录下来。

select * from 学生信息表 a

where 10 > (select count(*) from 学生信息表 where 班级ID = a.班级ID and 班内名次 > a.班内名次)