(比用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
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
转载于:https://blog.51cto.com/xu20cn/97897