暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL case when 用法

小码哥 2021-05-26
1216

Case具有两种格式。简单Case函数和Case搜索函数。 

1、Case简单函数

CASE sex 
WHEN '1' THEN ''
WHEN '2' THEN ''
ELSE '其他' END

2、Case搜索函数 

CASE WHEN sex = '1' THEN '' 
WHEN sex = '2' THEN ''
ELSE '其他' END

下面用一些实例学习case:

存在Table:

/*将性别男、女分别用0、1替换*/

SELECT
id,
CASE
WHEN sex = '' THEN 0
WHEN sex = '' THEN 1 END sex ,
score
FROM c1;

SELECT * ,
CASE
WHEN score<60 THEN ''
WHEN score>=60 AND score<80 THEN ''
WHEN score>=80 AND score<90 THEN ''
WHEN score>=90 THEN '' END level
FROM c1;

/*将成绩等级分为四列*/
SELECT id, sex,score,
CASE WHEN score<60 THEN '' END AS level1,
CASE WHEN score>=60 AND score<80 THEN '' END AS level2,
CASE WHEN score>=80 AND score<90 THEN '' END AS level3,
CASE WHEN score>=90 THEN ''END AS level4
FROM c1;

SELECT sex,
SUM(CASE WHEN score<60 THEN 1 ELSE 0 END) AS '',
SUM(CASE WHEN score>=60 AND score<80 THEN 1 ELSE 0 END) AS '',
SUM(CASE WHEN score>=80 AND score<90 THEN 1 ELSE 0 END) AS '',
SUM(CASE WHEN score>=90 THEN 1 ELSE 0 END) AS ''
FROM c1
GROUP BY sex;

文章转载自小码哥,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论