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

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

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

select 
    t4.first_name
from 
    (select
        first_name,
        sum(1) over (rows between unbounded preceding and current row) rank1
    from
        (select first_name from employees t1 order by t1.first_name ) t1) t3,
    (select
        t2.first_name, 
        (sum(1) over (rows between unbounded preceding and current row)) rank2
    from
        employees t2) t4
where
    t3.first_name = t4.first_name
    and rank1 % 2 = 1 
order by
    rank2 asc

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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