SQL 查找第二高的

2025-03-22 17:35:53
推荐回答(4个)
回答1:

select top 2 * from [学生表] where id not in (select top 1 * from [学生表] order by [成绩] ) order by [成绩]
查出前2名,不在第一名的里面就是第二名了啊,1楼的是错的,哪有order by 在where条件前面的啊!

回答2:

select top 2 * from [学生表] order by [成绩] where id not in (select top 1 * from [学生表] order by [成绩] )
查前2名的学生 然后再将第一名的去掉 就是第二名的了

回答3:

select top 2 * from [学生表] order by [成绩] where id not in (select top 1 * from [学生表] order by [成绩] )

都是 top 1~~ 其余不变

回答4:

给个思路!建立一个将第一名查出来从原表T除后的新表!
然后再新表中查第一名!