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 | +------+------+