select r.first_name from ( select * ,row_number()over() y ,row_number()over(order by first_name) rn from employees ) r # where r.rn&1 where mod(r.rn,2)=1 order by r.y 第一个排序保留原顺序(没看到这么写的 记录下