查找成绩排名第二的学生

来源:互联网 发布:mac的usb不支持 编辑:程序博客网 时间:2024/05/19 17:57

假设有这样的一张表student:

name    mark---------------Alice   98Bob     67Eric    75Kato    84

首先找到排名第一的学生,这一步没啥难度:

SELECT name, MAX(mark) as mark FROM student 

有了最高成绩了,那么次高成绩也就很容易搞定了,也就是把所有小于最高成绩的全部拿出来,然后再在这个范围内找出最高成绩,那就是次高成绩:

SELECT name, MAX(mark) AS markFROM studentWHERE mark < (SELECT MAX(mark) FROM student);