select emp_no, salary
from (
    select emp_no, salary, dense_rank()over(order by salary desc) posn
    from salaries
) as t
where t.posn = 2

当前薪水第二多: 典型的 排名题, 排名题 一般要先用‘排序窗口函数’+‘子查询’把排名表 列好【即:from 子查询】, 然后 在‘外围查询’中把 排名作为条件进行查询。

(1)排序窗口函数’: 因为要考虑到 第二名可能有多个, 所以 排序窗口函数要用 ’并列且连续‘的排序函数来进行操作。即

dense_rank()over( order by salary desc ) 按薪水的 从高到低进行排序(降序)

(2)from 子查询 ; 最后 一定要 ’别名‘处理。 即 from( ) as t