求解:获取当前(to_date='9999-01-01')薪水第二多的员工的emp_no以及其对应的薪水salary
建表语句:
CREATE TABLE salaries (
emp_no int(11) NOT NULL,
salary int(11) NOT NULL,
from_date date NOT NULL,
to_date date NOT NULL,
PRIMARY KEY (emp_no,from_date));

求解思路:
分析得知,我们首先需要得出薪水第二多的具体薪资是多少,我们想到了limit子句,order by 子句 之后就很顺利了

select emp_no, salary
from salaries
where salary = (
select distinct salary
from salaries
group by salary
having salary = max(salary)
order by salary desc
limit 1,1 ) ;