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

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

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

使用dense_rank进行排名找到等于3的员工id,注意使用dense_rank,而不是rank。

select *
from employees
where emp_no in (
    select b.emp_no
    from (
        select dense_rank() over(order by hire_date desc) rank_, emp_no
        from employees
    ) b
    where b.rank_=3
)

使用limit,offset配合找到倒数第三的日期然后查询。注意要加`distinct`作为限定。

select *
from employees
where hire_date = (
    select distinct hire_date
    from employees
    order by hire_date desc
    limit 1 offset 2
)

全部评论

相关推荐

07-07 17:06
已编辑
深圳技术大学 golang
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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