首页 > 试题广场 >

现有一张学生各科考试成绩表:t_stu_course_sco

[单选题]
现有一张学生各科考试成绩表:t_stu_course_score 数据如下:

张三

语文

90

张三

数学

80

张三

英语

90

李四

语文

91

李四

数学

77

李四

英语

60

王五

语文

66

王五

数学

99

王五

英语

88

赵六

语文

98

赵六

数学

100

赵六

英语

70


需统计出每门学科(course)分数(score)最高的两位学生(name),以下选项中正确的一项是()
  • SELECT name, course, ROW_NUMBER() OVER (PARTITION BY course ORDER BY score DESC) AS rank FROM t_stu_course_score GROUP BY name, course HAVING rank <= 2
  • SELECT name, course, score FROM ( SELECT name, course, score, ROW_NUMBER() OVER (PARTITION BY name ORDER BY score DESC) AS rank FROM t_stu_course_score ) t WHERE rank <= 2

  • SELECT name, course, score FROM ( SELECT name, course, score, ROW_NUMBER() OVER (PARTITION BY course ORDER BY score DESC) AS rank FROM t_stu_course_score ) t WHERE rank <= 2
  • SELECT name, course, score FROM t_stu_course_score ORDER BY score LIMIT 2
窗口函数还得学啊
发表于 2025-08-22 21:04:32 回复(0)