1、题目描述
来源:力扣(LeetCode)
2、解题思路
1# 其实就是两两编号互换,对每个数,奇数就加1,偶数就减1,然后排序
select *,if(id%2=1,id+1,id-1) as jude from seat order by jude
2# 上述的方式,如果id
总数是奇数,最后的数不成对,就会出现最后一个数没有排列好
例如:1/2/3/4/5
,就会变成2/1/4/3/6
3# 最后重新弄一下排名作为id
select round((@i:=@i+1),0) as id
3、提交记录
select s1.id,s2.student
from seat s1 left join
(
select round((@i:=@i+1),0) as id,student
from(
select *,if(id%2=1,id+1,id-1) as jude
from seat
order by jude)a,(select @i:=0)b) s2
on s1.id=s2.id
228ms