跳到主要內容
Cypher's Practical Coding
正在準備工作環境...

CASE WHEN 條件邏輯

Excel 有 IF 函數,SQL 有 CASE WHEN。用來在查詢裡做分類、打標籤、算條件統計。

  • CASE WHEN = SQL 版的 IF / ELSE
  • 可以用在 SELECT、WHERE、ORDER BY 任何地方
  • 搭配 GROUP BY 做「條件統計」超好用

基本分類

把商品價格分成等級:

搭配 GROUP BY 做條件統計

統計各價格等級有幾個商品:

條件加總(Pivot 風格)

每個客戶的已完成 vs 未完成訂單數量:

AI 協作:學了這個,跟 AI 怎麼配合?

CASE WHEN 的分類邏輯完全取決於業務規則——AI 不知道你公司的分級標準。

你的人類優勢:

  • 你知道 VIP 分級門檻(鑽石 > 10 萬、金卡 > 5 萬、銀卡 > 1 萬)
  • 你能確認分類是否互斥且完整(有沒有漏掉的情況)

可以這樣跟 AI 說:

幫我把客戶依累計消費金額分成 4 級:10 萬以上=鑽石、5-10 萬=金卡、1-5 萬=銀卡、其餘=一般。用 CASE WHEN。

練習題

互動示範

DEMO 1可以修改程式碼試玩
DEMO 2可以修改程式碼試玩
DEMO 3可以修改程式碼試玩

挑戰任務

Task 1

把客戶依訂單數量分級:>20 筆為 '大戶',>10 筆為 '中戶',其餘為 '小戶'(顯示 customer_id、order_count、level)

Task 2

統計商品的價格分布:高價(>=10000)、中價(>=3000)、低價 各有幾個(顯示 price_level 和 count)

Task 3

算出每月的已完成訂單金額和未完成訂單金額(顯示 month、completed_amount、other_amount)

BackNext Lesson →