查询每个班级语文前三的学生
sql table
班级 学生 科目 分数
一班 小红 数学 90
一班 小红 语文 51
一班 小红 英语 70
一班 小刚 数学 68
一班 小刚 语文 53
一班 小刚 英语 74
二班 小明 数学 84
二班 小明 语文 63
二班 小明 英语 76
二班 小楚 数学 84
二班 小楚 语文 75
这个怎么用sql 写啊
我用的是sql server
select * from
(select row_number()over(partition by [科目],[班级] order by [分数] desc ) 排名 ,
* from table
where [科目]='语文' ) tt --先按科目和班级分组对分数进行排序
where [排名]<=3 --筛选出小于3的序号