题解 | #给出employees表中排名为奇数行#
给出employees表中排名为奇数行的first_name
https://www.nowcoder.com/practice/e3cf1171f6cc426bac85fd4ffa786594
select first_name first from employees where first_name in (select first from (select first_name first, row_number()over(order by first_name) c from employees) c1 where c % 2 = 1)
两层嵌套,第一层得出所有的first_name和错误的顺序,然后用where in 从原表中提出正确的顺序。值得注意的是sql的执行顺序,select在where后面执行,所以select阶段命名的变量名无法在where阶段识别。