自用题解

对于employees表中,给出奇数行的first_name

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

通过窗口函数生成一张新的表

    select 
    `emp_no` as `e_n`,
      `first_name`,
      row_number() over(order by `first_name` asc) as `r_num`
    from 
      `employees`

图片说明

然后与原表进行连接操作

select 
  `e`.`first_name`
from 
  `employees` as `e`
inner join
  (
    select 
    `emp_no` as `e_n`,
      `first_name`,
      row_number() over(order by `first_name` asc) as `r_num`
    from 
      `employees`
  ) as `t`
on
  `e`.`emp_no`=`t`.`e_n`
where
  `t`.`r_num`%2=1
全部评论

相关推荐

一名愚蠢的人类:多少games小鬼留下了羡慕的泪水
投递荣耀等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务