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

浙公网安备 33010602011771号