mysql中case使用
阿新 • • 發佈:2018-06-10
例子 分數 src 圖片 前言 alt sql image IT
前言:遇到這樣一個需求,有一門成績,成績中只記錄了學生的分數,現在需要統計學生的分數等級,100-90分為優秀,90-60分為及格,60-0分為不及格。這個需求就可以用CASE語句來表達。
case語句分為簡單case語句和可搜索case語句。
1.簡單case的語法為
CASE case_expression WHEN when_expression_1 THEN commands WHEN when_expression_2 THEN commands ... ELSE commands END
這種適合固定的值,比如性別,1男,2女這種
例子:將下圖中sex換成漢字的性別,1男,2女。
SELECT *, ( CASE sex WHEN 1 THEN ‘男‘ WHEN 2 THEN ‘女‘ END ) ‘性別‘ FROM `user`
結果如下圖
2.可搜索case語句,這種適應表達式與一組不同的值進行匹配。
語法為
CASE WHEN condition_1 THEN commands WHEN condition_2 THEN commands ... ELSE commands END
例子就是最開始提到的
SELECT *, ( CASE WHEN score>=90 THEN ‘優秀‘ WHEN score>=60 THEN ‘及格‘ ELSE ‘不及格‘ END ) ‘等級‘ FROM math ORDER BY score DESC
結果如下
mysql中case使用