微信技术群:Day9884125
背景
我们在sql做统计报表的时候,当比如name字段中有张三,李四,王武时候,统计name为他们三个的时候有多少数据。我们可以使用case when做处理。
代码演示
select
count(shopName), -- 总量
-- <!-- 下单成功量 -->
sum(case when shop_status = 1 then 1 else 0 end) as xiadanchenggong,
-- <!-- 退款数量 -->
sum(case when shop_status !=0 then 1 else 0 end) as tuikuan,
-- <!-- 下单失败量 -->
sum(case when shop_status = 5 then 1 when sms_status =6 then 1 else 0 end) as goumaishibai
from shop
group by shopName
代码解释
sum(case when shop_status = 5 then 1 when sms_status =6 then 1 else 0 end)
他的含义是当shop_status为5的时候,给他设置为1,当shop_status为6的时候给他设置为1,如果不是这两种状态的设置为0。然后对进行求和