题解 | #给出employees表中排名为奇数行

给出employees表中排名为奇数行的first_name

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

分步解
1.先找对名字进行排序
select
        emp_no,
        first_name,
        dense_rank() over (
            order by
                first_name asc
        ) rk
    from
        employees)
2.然后再用in语句筛选出符合条件的first_name的值
3.最后代码如下:
select e.first_name from employees e
where e.first_name in (select t.first_name from (select
        emp_no,
        first_name,
        dense_rank() over (
            order by
                first_name asc
        ) rk
    from
        employees)t
where t.rk % 2=1)

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务