题目描述
获取当前(to_date=’9999-01-01’)薪水第二多的员工的emp_no以及其对应的薪水salary
select emp_no,salary
from salaries
where to_date='9999-01-01'
order by salary desc
limit 1,1
解题方案
本题考查的是如何获取薪资第二大的,首先我们肯定会想到使用order by进行排序,但是仅仅是排序的话是不够的,我们最多获取到最大值,当然也可以使用嵌套循环将薪资最大值然后使用排除法去掉即可,但是这种题是有特殊方法的,那么就是limit关键词,使用分页符,注意这里初始页是从0开始的,所以1代表第二页,获取1条记录即可。
select emp_no,salary
from salaries
order by salary desc
limit 1,1