力扣 (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
- 2024.09.22 力扣刷題 Z字形變換力扣
- 力扣刷題——2306. 公司命名力扣
- 力扣刷題:100. 相同的樹力扣
- 力扣刷題-二分查詢力扣
- 力扣刷題-滑動視窗(字串)力扣字串
- 力扣(LeetCode)543力扣LeetCode
- 力扣(LeetCode)934力扣LeetCode
- 力扣(LeetCode)103力扣LeetCode
- 力扣(LeetCode)513力扣LeetCode
- 力扣(LeetCode)389力扣LeetCode
- 力扣(LeetCode)796力扣LeetCode
- 力扣(LeetCode)863力扣LeetCode
- 力扣(LeetCode)310力扣LeetCode
- 力扣(LeetCode)130力扣LeetCode
- 力扣(LeetCode)965力扣LeetCode
- 力扣刷題Python筆記:括號生成力扣Python筆記
- 力扣刷題筆記:207. 課程表力扣筆記
- 程式設計師如何玩轉力扣刷題?程式設計師力扣
- 力扣前1500道非會員題刷題筆記力扣筆記
- leetcode力扣 213. 打家劫舍 IILeetCode力扣
- 力扣題解力扣
- python力扣刷題記錄——1470. 重新排列陣列Python力扣陣列
- python力扣刷題記錄——771. 寶石與石頭Python力扣
- #力扣 LeetCode面試題 04.08. 首個共同祖先 @FDDLC力扣LeetCode面試題
- 力扣(LeetCode) -143 重排連結串列力扣LeetCode
- LeetCode 刷題—樹LeetCode
- LeetCode刷題 堆LeetCode
- LeetCode刷題整理LeetCode
- leetcode刷題(一)LeetCode
- leetcode(力扣) 2866. 美麗塔 IILeetCode力扣
- [Leetcode力扣 25] Reverse Nodes in k-GroupLeetCode力扣
- 力扣 leetcode 86. 分隔連結串列力扣LeetCode
- Leetcode力扣1 兩數之和(Python版)LeetCode力扣Python
- leetcode 掃描線專題 06-leetcode.252 meeting room 力扣.252 會議室LeetCodeOOM力扣
- leetcode 掃描線專題 06-leetcode.391 perfect-rectangle 力扣.391 完美矩形LeetCode力扣
- 力扣刷題——3096.得到更多分數的最少關卡數目力扣
- 力扣刷題——2398. 預算內的最多機器人數目力扣機器人