SQL server 课上,老师让我们“查询入学成绩排在前3位的学生姓名,并列的都显示。”不知道用什么语句,

我的思路是:先按成绩排序,再按成绩分组,再显示前三组。但不知道用什么语句。或有没有其他的什么方法啊?
2026年09月27日 11:49
有2个网友回答
网友(1):

select 姓名字段 from 表名 where 分数字段 in

(select distinct top 3 分数字段 from 表名 order by 分数字段 desc );
在子查询里,先选出最高的三个分数(去重),然后所有分数在这三个分数里的记录,选择该记录的姓名字段

网友(2):

select * from table where score in
(select top 3 score from table group by score order by score desc)