求解:获取当前(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 ) ;