mysql case函数吗_mySQL case函数
語法
CASE 字段名 WHEN 條件1 THEN 結(jié)果1
WHEN 條件2 THEN 結(jié)果2
...
[ ELSE 結(jié)果N ]
END
條件可以是一個數(shù)值或公式。ELSE子句不是必須的。
還有一種寫法:
CASE? ?WHEN 字段名A = 數(shù)值 THEN 結(jié)果1
WHEN 字段名A = 數(shù)值 THEN 結(jié)果2
[ELSE 結(jié)果N]
END
兩種寫法,可以實現(xiàn)相同的功能。具體使用哪種寫法需根據(jù)實際情況做選擇。
注意:case函數(shù)只返回第一個符合條件的值,剩下的case部分會被忽略。
例如,下圖的代碼,我們無法得到“第二類”這個結(jié)果case when col_1 in ('a','b') then '第一類'
when col_1 in ('a') then '第二類'
else '其他' end
使用case函數(shù)做統(tǒng)計
如下圖所示select
COUNT(*) as clearingNum,
SUM(case clearing_status when 0 then 1 else 0 end) as newNum,
SUM(case clearing_status when 1 then 1 else 0 end) as reconciledNum,
SUM(case clearing_status when 2 then 1 else 0 end) as settledNum,
SUM(case clearing_status when -1 then 1 else 0 end) as invalidNum
from fm_clearing
總結(jié)
以上是生活随笔為你收集整理的mysql case函数吗_mySQL case函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql备份工具xtr_mysql-x
- 下一篇: castle activerecord