-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathleetcode-626. Exchange Seats.sql
More file actions
39 lines (33 loc) · 1000 Bytes
/
leetcode-626. Exchange Seats.sql
File metadata and controls
39 lines (33 loc) · 1000 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
626 Exchange Seats
Mary is a teacher in a middle school and she has a table seat storing students' names and their corresponding seat ids.
The column id is continuous increment.
Mary wants to change seats for the adjacent students.
Can you write a SQL query to output the result for Mary?
+---------+---------+
| id | student |
+---------+---------+
| 1 | Abbot |
| 2 | Doris |
| 3 | Emerson |
| 4 | Green |
| 5 | Jeames |
+---------+---------+
For the sample input, the output is:
+---------+---------+
| id | student |
+---------+---------+
| 1 | Doris |
| 2 | Abbot |
| 3 | Green |
| 4 | Emerson |
| 5 | Jeames |
+---------+---------+
# MYSQL Query Accepted
SELECT ( CASE
WHEN id%2 != 0 AND id != counts THEN id+1
WHEN 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 ASC