• 本题解析
    这是一题求第几名的题目,平时用order by和limit比较好解决,不用的话求起来比较麻烦,也不太好理解,不过多操作几次就明白了
  • 参考答案
select 
e.emp_no,
s.salary,
e.last_name,
e.first_name
from employees e join salaries s 
on e.emp_no = s.emp_no
and s.to_date='9999-01-01'
where s.salary = (
    select s1.salary from salaries s1 join salaries s2
    on s1.salary <= s2.salary
    and s1.to_date='9999-01-01'
    and s2.to_date='9999-01-01'
    group by s1.salary
    having count(distinct s2.salary)=2)