题解 | #查找入职员工时间排名倒数第三的员工所有信息#
查找入职员工时间排名倒数第三的员工所有信息
http://www.nowcoder.com/practice/ec1ca44c62c14ceb990c3c40def1ec6c
用窗口函数dense_rank()来实现,不是运行最快的,是另一种思考方式。
考虑到会有相同入职日期的员工,因此选择dense_rank(),它排序的方式为,同分同序号,因此只需在where过滤条件里写降序排名为3就可以实现。
代码:
select emp_no,birth_date,first_name,last_name,gender,hire_date FROM(select * , DENSE_RANK() over (order by hire_date DESC)as drk FROM employees) as a WHERE a.drk=3