# 문제
https://leetcode.com/problems/exchange-seats/
# 문제 요약

(1,2) / (3,4) ... 번째 순서끼리 바꾸고 마지막 id값이 홀수라면 바꾸지 않는다
# 문제 해결
lag(컬럼,1) over (order by 컬럼) as 별칭
1행 위에 있는 컬럼값을 가져온다
lead(컬럼,1) over (order by 컬럼) as 별칭
1행 밑에 있는 컬럼값을 가져온다
# 정답코드
with cte as (
select *,
lag(student,1) over (order by id) as lag_text,
lead(student,1) over (order by id) as lead_text
from Seat
)
select id,
case when id % 2 = 1 and id = (select count(*) from cte) then student
when id % 2 = 1 then lead_text
when id % 2 = 0 then lag_text
end as student
from cte