比如我表test裡面有id,mc,xh三個字段(分別是自動編號,鋼材名稱(若干種),鋼材型號(大號,中號,小號))
id mc xh我現在要分別統計出「mc」裡面的各種型號的東西有多少。意思是:1鋼管 大號
2銅管 大號
3鐵管 小號
4鋁管 中號
5 鋼管 小號
我要統計鋼管,銅管,鐵管,鋁管的大,中,小號各有多少條記錄。
並且mc裡面的是不固定的,可能還有金管,還有熟料管什麼的,,但是xh裡面只有三種情況,那就是大號,中號,小號:
1.在mysql中建立乙個測試資料表
create2.插入一批資料table
`tb_test_count` (
`id`
bigint(20) not
null
, `mc`
varchar(255) character
set utf8mb4 default
null
, `xh`
varchar(255) character
set utf8mb4 default
null,
primary
key(`id`)
) engine
=innodb default charset=latin1;
insert3.查詢統計的sql語句into tb_test_count values(1,'
鋼管','大號'
);insert
into tb_test_count values(2,'
銅管','大號'
);insert
into tb_test_count values(3,'
鐵管','小號'
);insert
into tb_test_count values(4,'
鋁管','大號'
);insert
into tb_test_count values(5,'
鋁管','小號'
);insert
into tb_test_count values(6,'
鋼管','大號'
);insert
into tb_test_count values(7,'
鋼管','
小號');
select mc,count(case4.查詢結果截圖如下:when xh='大號
'then
1end) as
大號,count(case
when xh='中號
'then
1end) as
中號,count(case
when xh='小號
'then
1end) as
小號from
tb_test_count
group
by mc
5.如果使用sum方法查詢則(當資料一條都不存在的時候查詢出來的結果是null)
select mc,sum(casewhen xh='大號
'then
1end) as
大號,sum(case
when xh='中號
'then
1end) as
中號,sum(case
when xh='小號
'then
1end) as
小號from
當乙個表中需要統計某個欄位中不同型別的資料條數的時候,可以使用該方法。
mysql如何分類統計數量
比如我表test裡面有id,mc,xh三個字段 分別是自動編號,鋼材名稱 若干種 鋼材型號 大號,中號,小號 id mc xh 1鋼管 大號 2銅管 大號 3鐵管 小號 4鋁管 中號 5 鋼管 小號 我現在要分別統計出 mc 裡面的各種型號的東西有多少。意思是 我要統計鋼管,銅管,鐵管,鋁管的大,中...
mysql 行轉列分類統計數量
今天遇到的問題,以下流水表,根據請求渠道和交易型別,統計交易的成功 失敗和處理中筆數 資料庫表 交易流水表 簡化 流水號請求渠道 狀態 00 成功 01 失敗 02 處理中 交易型別 n0001 0100 a0n0002 0200 a1n0003 0101 a1n0004 0200 a0n0005 ...
MySql中按周 月統計數量
經需求要求對某個表進行按每週 每月統計報表顯示,以下為sql 1 按周統計資料 select date format createdate,y u as week,date format date sub createdate,interval dayofweek createdate 2 day ...