# 同一时期入职的员工可能有多个,
# 所以这种先给它按hire_date desc排序,再limit 2,3取一行的方法会有遗漏
# limit一般用在取指定行数的地方(需要选取的行的数量是确定的情况)
select 
    emp_no,
    birth_date,
    first_name,
    last_name,
    gender,
    hire_date
from
(
select *,
    dense_rank() over(order by hire_date desc) as rk
from employees
) as s1
where rk = 3
order by emp_no asc
;
方法二 更简洁
SELECT *
FROM employees
WHERE hire_date = (
    SELECT DISTINCT hire_date
    FROM employees
    ORDER BY hire_date DESC       -- 降序
    LIMIT 2,1    -- 要升序的倒数第三的日期,就是降序的正数第三的日期     
);