使用dense_rank进行排名找到等于3的员工id,注意使用dense_rank,而不是rank。
select * from employees where emp_no in ( select b.emp_no from ( select dense_rank() over(order by hire_date desc) rank_, emp_no from employees ) b where b.rank_=3 )
使用limit,offset配合找到倒数第三的日期然后查询。注意要加`distinct`作为限定。
select * from employees where hire_date = ( select distinct hire_date from employees order by hire_date desc limit 1 offset 2 )