mysql 中的 case when -- then -- else --end

case判断

--Case搜索函数
CASE WHEN 条件 THEN 返回值
         WHEN 条件' THEN 返回值
ELSE 返回值 END

Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。

--比如说,下面这段SQL,你永远无法得到“第二类”这个结果
CASE WHEN col_1 IN ( 'a', 'b') THEN '第一类'
         WHEN col_1 IN ('a')       THEN '第二类'
ELSE'其他' END

常用方法

--比如说,下面这段SQL,你永远无法得到“第二类”这个结果
CASE WHEN col_1 IN ( 'a', 'b') THEN '第一类'
         WHEN col_1 IN ('a')       THEN '第二类'
ELSE'其他' END

查看男女人数

select 
    sum(case when s_sex ='男' then 1 else 0 end ) as '男', -- 性别为男返回1,否则返回0,最后求和
        sum(case when s_sex='女' then 1 else 0 end) as '女'
    from student   
-- 结果
+------+------+
| 男   | 女   |
+------+------+
|    3 |    2 |
+------+------+

  

posted @ 2017-12-14 21:43  瓜田月夜  阅读(189)  评论(0)    收藏  举报