SQL 刷题/【快手】各年级各科目成绩排名Top3
上一题下一题中等通过率 94%

【快手】各年级各科目成绩排名Top3

窗口函数面试真题

题目描述

来源:快手数据研发二面

给定一张 student_scores 表:

  • id: 记录ID
  • grade: 年级
  • student_name: 学生姓名
  • subject: 科目
  • score: 成绩

请编写 SQL 查询,找出每个年级每个科目成绩排名前3的学生(使用 DENSE_RANK,并列不跳跃)。按年级、科目、排名升序排列。

期望输出列

列名说明
grade年级
subject科目
student_name学生姓名
score成绩
rk排名

数据样例

当前运行环境
idPKINTEGERgradeTEXTstudent_nameTEXTsubjectTEXTscoreINTEGER
1高一张三数学95
2高一李四数学88
3高一王五数学92
4高一赵六数学88
5高一钱七数学78
6高一张三英语85
7高一李四英语92
8高一王五英语78
输入数据显示 8 / 17
SQL 编辑器正在保存草稿...
正在加载 SQL 编辑器...

运行你的 SQL 查询后,结果将显示在这里