626. 换座位
使用 case when
将奇数 id 加 1,偶数 id 减 1,如果最后一位是奇数,则不变
select (case when mod(id, 2) != 0 and id < max_temp.max_id then id + 1 -- 如果是奇数且小于最大 id,加 1
when mod(id, 2) != 0 and id = max_temp.max_id then id -- 如果是奇数且等于最大 id,不变
else id - 1 end) as id, seat.student -- 如果是偶数,直接减 1
from seat,
(select max(id) as max_id from seat) as max_temp -- 查询总数
order by id;