题目
代码部分一(577ms)
SELECT(CASE
WHEN MOD(id,2)!=0 AND id!=counts THEN id+1
WHEN MOD(id,2)!=0 AND id=counts THEN id
ELSE id-1
END)AS id,student
FROM seat,(SELECT COUNT(*) AS counts FROM seat) AS seat_counts
ORDER BY id;
代码部分二(406ms)
SELECT
s.id,s.student
FROM(
SELECT id-1 AS id,student FROM seat WHERE MOD(id,2)=0
UNION
SELECT id+1 AS id,student FROM seat WHERE MOD(id,2)=1 AND id!=(SELECT COUNT(*) FROM seat)
UNION
SELECT id,student FROM seat WHERE MOD(id,2)=1 AND id=(SELECT COUNT(*) FROM seat)
) AS s
ORDER BY s.id;