1. id가 짝수면 -1, 홀수면 +1을 해 줍니다.
2, total_row 가 짝수면 1을 거친 id의 값이 total_row 를 넘지 않습니다.
3. 그러나 total_row 가 홀수인 경우, 맨 마지막 id가 total_row +1 이 되어 버립니다. (홀수는 +1을 하기에)
4. 따라서, 변경된 id가 total_row 를 넘는 경우에만 이를 -1 해줍니다.
select
if(sub.id2 <= total_rows, sub.id2 , sub.id2-1) as 'id'
, sub.student
from
(
SELECT
if(id%2=0, id-1, id+1) as id2
, student
, count(*) over() as total_rows
from seat
order by id2
)sub;