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

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

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

错误写法

select first_name

from employees

where first_name in

(select first_name,rank()over(order by first_name) as flag from employees where flag%2=1)

分步骤写法
#先排名
#查询出排名为奇数的姓名
#最外层查询,将姓名输出

select e.first_name from

employees e

where e.first_name in

(select ra.first_name from

(select first_name,rank() over(order by first_name) as flag from employees ) as ra

where ra.flag%2=1

)

表连接写法
select e1.first_name from
employees e1
join (select first_name,rank() over(order by first_name) as r from employees)
e2
on e1.first_name = e2.first_name
where e2.r % 2 = 1

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

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