select e.first_name
from employees e
where (
    select count(*)
    from employees e1
    where e.first_name >= e1.first_name
) % 2 = 1;

1)为什么是>= 不是<=

回答:因为题中说“按first_name升序排序”,如果是降序就是<=。

2)为什么没有order by

回答:因为题中说了“输出时不用排序”,输出顺序应按原表顺序。

3)为什么不能用row_number()

回答:因为row_number()会默认更改first_name排序。