题解 | #对于employees表中,给出奇数行的first_name#

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

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

没个十年脑血栓写不出这种题干,明明意思是必须按照原表顺序输出,结果写成输出不需要排序。

所以这道题首先在子查询里选出first_name并根据first_name进行标号,然后将原表employees和子查询根据first_name连接并限制标号为奇数,也就是ranking % 2 = 1。最后从原表employees中选出first_name。

select s.first_name from employees as s,
(select first_name, row_number() over (order by first_name) as ranking
from employees) as temp
where s.first_name = temp.first_name and temp.ranking % 2 = 1

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-15 12:20
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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