题解 | #查找入职员工时间排名倒数第三的员工所有信息#
查找入职员工时间排名倒数第三的员工所有信息
https://www.nowcoder.com/practice/ec1ca44c62c14ceb990c3c40def1ec6c
select emp_no,birth_date,first_name,last_name,gender,hire_date from ( select *,dense_rank() over(order by hire_date desc) rk from employees ) a where rk = 3
这一题注意的就是,适应dense_rank,不要用rank,因为使用rank会跳(dense是密集的意思)
例如
name sorce a 100 a 80 b 78 c 70 select *,rank() over(order by ) rk from table 如下: name sorce rk a 100 1 a 80 1 b 78 3 c 70 4 而使用dense_rank呢 select *,dense_rank() over(order by ) rk from table name sorce rk a 100 1 a 80 1 b 78 2 c 70 3
这样where rk = 3时,取值就完全不一样了