mysql关于case-when-end的使用

 
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 

  

原文地址:https://www.cnblogs.com/stupid-chan/p/11048517.html