# 请你获取薪水第二多的员工的emp_no以及其对应的薪水salary,
# 若有多个员工的薪水为第二多的薪水,则将对应的员工的emp_no和salary全部输出,并按emp_no升序排序。
# 思路1:先denes_rank(),然后筛选(用from的子查询),注意做当前日期筛查。;拓展:rank()跳跃式排序(高考总分排名1134);denes_rank()并列连续排序(1123);row_number()连续型排序(如1234)
select emp_no, salary
from(select *, dense_rank()over(order by salary desc) rk from salaries where to_date = '9999-01-01' ) as posn
where posn.rk = 2
order by emp_no
# 思路2:distinct(用group by 去重也可以),然后order by,最后limit 1,1,最后筛选(用where的子查询)。注意做2次当前日期筛查(如果salaries表中有其他年份日期的薪水,排序后恰好是第2名,且当前年份日期的薪水和前面的第2名刚好相等。)
/*
select emp_no, salary
from salaries
where salary = (select distinct salary from salaries order by salary desc limit 1,1 where to_date = '9999-01-01') and to_date = '9999-01-01'
order by emp_no
*/