case-when语句,用于计算条件列表并返回多个可能结果表达式之一。
一、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
二、实际操作
1、
将图一中成绩>=90分定义为优秀,60<=成绩<90定义为良好,成绩<60定义为不及格,要求得到图二的结果:
SELECT C_Name,(CASE WHEN 语文>=90 THEN '优秀' WHEN 语文<60 THEN '不及格' ELSE '良好' END) AS 语文, (CASE WHEN 数学>=90 THEN '优秀' WHEN 数学<60 THEN '不及格' ELSE '良好' END) AS 数学, (CASE WHEN 英语>=90 THEN '优秀' WHEN 英语<60 THEN '不及格' ELSE '良好' END) AS 英语 FROM score2
2、
图一要求得到图二,统计输赢的数量:
SELECT W_Time, COUNT(CASE WHEN wor='赢' THEN 1 END) AS '赢', COUNT(CASE WHEN wor='输' THEN 1 END) AS '输' FROM WinOrGohome GROUP BY W_Time