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

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

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

select t1.first_name
from 
(select 
  *,
  row_number() over(order by first_name asc) as f_rank
from employees
order by emp_no asc) t1
where f_rank % 2 != 0

先通过窗口函数,按first_name升序排序编号f_rank,select里的执行执行完后,再执行order by根据emp_no升序排序,达“按原序列顺序”的要求

上面的结果作为一个子表(order by后不能再使用where了),再套一层使用where,筛选出first_name排序为奇数的记录

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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