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~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章