在MySQL中條件判斷語句常用於數據轉換,基於現有數據創建新的數據列,使用場景還是比較多。 基礎樣式: CASE WHEN`條件`THEN`結果` ELSE`預設結果` END 在同一條判斷語句中可以有一個到多個判斷條件: CASE WHEN0`條件`THEN`結果0` WHEN1…… WHEN2… ...
在MySQL中條件判斷語句常用於數據轉換,基於現有數據創建新的數據列,使用場景還是比較多。
基礎樣式:
CASE
WHEN`條件`THEN`結果`
ELSE`預設結果`
END
在同一條判斷語句中可以有一個到多個判斷條件:
CASE
WHEN0`條件`THEN`結果0`
WHEN1……
WHEN2……
ELSE`結果1`
END
舉例:
為每樣產品增加`售價級別`欄位,列出產品號碼,產品名稱,產品單價,售價級別。
售價級別由平均產品售價計算得出:
`產品單價` 小於平均售價,級別為1,
`產品單價` 大於等於平均售價小於2倍平均售價,級別為2,
`產品單價` 大於等於2倍平均售價,級別為3。
SELECT
`產品號碼`,
`產品名稱`,
`產品單價`,
CASE
WHEN `產品單價`<(SELECT AVG(`產品單價`) FROM `產品信息`) THEN 1
WHEN `產品單價`>=2*(SELECT AVG(`產品單價`) FROM `產品信息`) THEN 2
ELSE 3
END AS `顧客級別`
FROM `產品信息`;