select em.emp_no,em.birth_date,em.first_name,em.last_name,em.gender,em.hire_date FROM( select *, rank()over(order by hire_date desc) rk from employees ) em WHERE rk=1
我看了一下大家的答案,感觉都有局限性。因为最后一天入职的人数可能不唯一,有可能在同一天入职多人,所以直接用order by + limit 语句有很大的局限性。此时用 窗口函数 + 子查询 便是最优解,rank()为跳跃式排名,保证了排名可以出现并列,即解决了可能同一天出现多人入职的情况。