力扣 (LeetCode) - Database-刷題626--換座位
目錄
題目描述:
小美是一所中學的資訊科技老師,她有一張 seat 座位表,平時用來儲存學生名字和與他們相對應的座位 id。
其中縱列的 id 是連續遞增的
小美想改變相鄰倆學生的座位。
你能不能幫她寫一個 SQL query 來輸出小美想要的結果呢?
示例:
+---------+---------+
| id | student |
+---------+---------+
| 1 | Abbot |
| 2 | Doris |
| 3 | Emerson |
| 4 | Green |
| 5 | Jeames |
+---------+---------+
假如資料輸入的是上表,則輸出結果如下:
+---------+---------+
| id | student |
+---------+---------+
| 1 | Doris |
| 2 | Abbot |
| 3 | Green |
| 4 | Emerson |
| 5 | Jeames |
+---------+---------+
注意:
如果學生人數是奇數,則不需要改變最後一個同學的座位。
我的答案:
select case when id=(select max(id) from seat) and mod(id,2)=1 then id
when id<(select max(id) from seat) and mod(id,2)=1 then id+1
when id=mod(id,2)=0 then id-1 end
as id, student
from seat
order by id
題目解析:
1、考察case when.... then... else .... end邏輯結構的應用
2、考察奇偶數的判斷
相關文章
- 力扣 (LeetCode) - Database-刷題183--從不訂購的客戶力扣LeetCodeDatabase
- 力扣刷題-滑動視窗(字串)力扣字串
- 力扣刷題-二分查詢力扣
- 程式設計師如何玩轉力扣刷題?程式設計師力扣
- 力扣刷題Python筆記:括號生成力扣Python筆記
- 力扣(LeetCode)863力扣LeetCode
- 力扣(LeetCode)389力扣LeetCode
- 力扣(LeetCode)796力扣LeetCode
- 力扣(LeetCode)934力扣LeetCode
- 力扣(LeetCode)543力扣LeetCode
- 力扣(LeetCode)513力扣LeetCode
- 力扣(LeetCode)965力扣LeetCode
- 力扣刷題筆記:207. 課程表力扣筆記
- 力扣(LeetCode)103力扣LeetCode
- 力扣(LeetCode)130力扣LeetCode
- 力扣(LeetCode)310力扣LeetCode
- python力扣刷題記錄——771. 寶石與石頭Python力扣
- python力扣刷題記錄——1470. 重新排列陣列Python力扣陣列
- #力扣 LeetCode面試題 04.08. 首個共同祖先 @FDDLC力扣LeetCode面試題
- 力扣工作周刷題 - 94. 二叉樹的中序遍歷力扣二叉樹
- 力扣(LeetCode) -143 重排連結串列力扣LeetCode
- [Leetcode力扣 25] Reverse Nodes in k-GroupLeetCode力扣
- 力扣 leetcode 86. 分隔連結串列力扣LeetCode
- LeetCode 力扣 羅馬數字轉整數LeetCode力扣
- python力扣刷題記錄——1480. 一維陣列的動態和Python力扣陣列
- python力扣刷題記錄——1614. 括號的最大巢狀深度Python力扣巢狀
- LeetCode刷題整理LeetCode
- leetcode刷題(一)LeetCode
- Leetcode力扣1 兩數之和(Python版)LeetCode力扣Python
- LeetCode 刷題指南(一):為什麼要刷題LeetCode
- 力扣 面試題 17.16. 按摩師力扣面試題
- 【力扣】排列問題(回溯法)(去重)力扣
- LeetCode 刷題筆記LeetCode筆記
- leetcode刷題筆記LeetCode筆記
- LeetCode刷題記錄LeetCode
- 如何使用leetcode刷題LeetCode
- leetcode刷題--Majority ElementLeetCode
- leetcode刷題--Count PrimesLeetCode