题解 | #筛选限定昵称成就值活跃日期的用户#

查找入职员工时间排名倒数第三的员工所有信息

http://www.nowcoder.com/practice/ec1ca44c62c14ceb990c3c40def1ec6c

这道题的关键是如何选出倒数第三的员工,且避开出现同时间员工的情况

解决方法是:造表

因为怕存在相同时间入职的员工,因此我们使用dense_rank() over(order by hire_date) as ranking 来排名入职时间,记住,排名倒数第三,意思是入职时间近的人;

因为不知道有多少员工,因此我们使用降序排名,然后直接 where ranking = 3 dense_rank() over(order by hire_date desc) as ranking

综上要点所述

select emp_no,birth_date,first_name,last_name,gender,hire_date

from ( select emp_no, birth_date,first_name, last_name,gender, hire_date, dense_rank() over (order by hire_date desc) as ranking from employees ) t where ranking = 3

全部评论

相关推荐

点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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