本文主要是介绍mysql统计字段不同值数量之sum(case...when),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
话不多说,直接举例咋用。
先知道一下常用语法:
sum(case 属性名 when 属性值1 then 1 else 0 end),意思就是某个属性下为属性值1就加1个数量,否则就作0统计。
看我的表players的长相:
1、统计男生和女生的数量
SELECT sum(CASE gender WHEN 'man' THEN 1 ELSE 0 END) as man_numbers, sum(case gender when 'woman' then 1 else 0 end) as woman_numbers
from players;
结果:
2、分组下统计:统计不同城市下男生和女生的数量
-- 统计不同城市下男性和女性的数量
SELECT city,sum(CASE gender WHEN 'man' THEN 1 ELSE 0 END) as man_numbers, sum(case gender when 'woman' then 1 else 0 end) as woman_numbers
from players
group by city;
结果:
下次给我们一份订单表,表里面的订单类型有“机票”和“酒店”,让我们分开统计什么机票订单的数量,酒店订单的数量,是不是你就会了呢O(∩_∩)O~
这篇关于mysql统计字段不同值数量之sum(case...when)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!