美文网首页
180608_exchange_data

180608_exchange_data

作者: 郑磊_4135 | 来源:发表于2018-06-08 16:43 被阅读0次

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

Note:
If the number of students is odd, there is no need to change the last one's seat.

SELECT if(id < (select count(*) from seat), if(id mod 2 = 0, id - 1, id + 1), if(id mod 2 = 0, id - 1, id)) as id, student
FROM seat
ORDER BY id ASC

相关文章

网友评论

      本文标题:180608_exchange_data

      本文链接:https://www.haomeiwen.com/subject/mqpasftx.html