select * from employees where hire_date =( select hire_date from employees group by hire_date order by hire_date desc limit 2,1 );
难点在于如何处理入职时间一样的?,如果单纯只是排序再取第三名,那么就会遗漏入职时间一样的,有什么方法处理呢?
可以先使用group by 对hire_date进行分区,这样就把一样的放到一起去了,每个大区外面都是不一样的入职日期,再针对进行分区分组后的唯一hire_date
值进行排序,可以避免出现“相同入职时间占排序位置的情况”。