
SQL server 课上,老师让我们“查询入学成绩排在前3位的学生姓名,并列的都显示。”不知道用什么语句,
我的思路是:先按成绩排序,再按成绩分组,再显示前三组。但不知道用什么语句。或有没有其他的什么方法啊?...
我的思路是:先按成绩排序,再按成绩分组,再显示前三组。但不知道用什么语句。或有没有其他的什么方法啊?
展开
2个回答
展开全部
select 姓名字段 from 表名 where 分数字段 in
(select distinct top 3 分数字段 from 表名 order by 分数字段 desc );
在子查询里,先选出最高的三个分数(去重),然后所有分数在这三个分数里的记录,选择该记录的姓名字段
(select distinct top 3 分数字段 from 表名 order by 分数字段 desc );
在子查询里,先选出最高的三个分数(去重),然后所有分数在这三个分数里的记录,选择该记录的姓名字段
追问
distinct 就是表示可以出现重复的意思吗?
追答
去掉重复哈!选择重复的工作在外面的句子里实现
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询