本题与SQL1相似,必须考虑结果不只一个的情况,如果只用limit最终只会显示一条记录,为了解决这个问题,可以在子查询中加入distinct。流程如下:
        1、先把去重后的符合倒数第三条件的入职日期筛出;
        2、然后where条件让“入职日期 = 倒数第三的入职日期(所有)”;
        3、最后便能查出所有倒数第三入职的员工信息;

select
    emp_no,
    birth_date,
    first_name,
    last_name,
    gender,
    hire_date
from
    employees
where
    hire_date = 
    (
        select
            distinct hire_date
        from
            employees
        order by
            hire_date desc
        limit 2,1
    )
;

 
 

补充:经过尝试,子查询中用group by对hire_date进行分组后也可以完成需求,distinct不是唯一的办法。