数据库 case when

(比用union all的效率高许多)

case when的作用就是一个条件选择语句,根据不同的要求显示不同的内容,格式是这样的case
       when [选择条件]
       then [结果1]
       else [结果2]
       end
   其中[选择条件]也可以放在case之后。

   举例1:表temp的字段是[rq]--日期,[shengfu]--胜负。
   select rq,
   sum(case when shengfu='胜' then 1 else 0 end)'胜',
   sum(case when shengfu='负' then 1 else 0 end)'负'
   from temp
   group by rq;

   举例2:表user的字段为id,username,password
select id,
(case username when 'admin' then 'root'
when 'Tite' then '帅哥'
when 'Ant' then '美女'
else '不帅' end) '管理员'
from user order by id;
   注意:else后面如果没有添加处理的时候,那么没有判断的条件将输出NULL

你可能感兴趣的:(mysql,case,职场,when,休闲)