题解 | #查找最晚入职员工的所有信息#

查找最晚入职员工的所有信息

https://www.nowcoder.com/practice/218ae58dfdcd4af195fff264e062138f

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()为跳跃式排名,保证了排名可以出现并列,即解决了可能同一天出现多人入职的情况。

全部评论

相关推荐

11-03 18:50
门头沟学院 Java
迷茫的大四🐶:问就是马上到,一周五天,6个月以上,全国可飞
点赞 评论 收藏
分享
专业嗎喽:个人信息名字太大,合到电话邮箱那一栏就行,有党员写过党,剩下其他全删,站空太大了 把实习经历丰富,放最前面,然后是个人评价,技能之类的,然后是学校信息。项目经历最后面,可以就选一个自己擅长的。 现在是学校不是92就扣分的,没必要放前面。 然后现在看重实习经历>竞赛经历(校园经历)>课程项目经历
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务