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

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

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

知识点

  1. 该题的意思是先按照first_name升序排序,然后取序号为奇数的行,最后输出的结果要按照原表的顺序
  2. 因此使用窗口函数排序内连接到原表里面,选择序号为奇数的就行

代码

select e.first_name
from employees as e
join (
    select first_name,
    row_number() over (order by first_name) as rk_name
    from employees) as r
on e.first_name = r.first_name
where r.rk_name % 2 = 1
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 12:11
点赞 评论 收藏
分享
05-24 14:12
门头沟学院 Java
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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