mysql 行轉列分類統計數量

2021-07-28 03:20:47 字數 1141 閱讀 5249

今天遇到的問題,以下流水表,根據請求渠道和交易型別,統計交易的成功、失敗和處理中筆數

資料庫表:交易流水表(簡化)

流水號請求渠道

狀態(00:成功 01:失敗 02:處理中)

交易型別

n0001

0100

a0n0002

0200

a1n0003

0101

a1n0004

0200

a0n0005

0201

a0n0006

0201a1

統計結果如下:

請求渠道

交易型別

成功筆數

失敗筆數

處理中筆數

01a010

001a10

1002a011

002a11

10實現思路:

1、先根據渠道和狀態統計條數

2、使用行轉列函式進行資料轉換

select b.channelid as

'渠道id',b.transtype as

'交易型別',

max(case b.status when

'00'

then b.count

else

0end) as

'成功筆數',

max(case b.status when

'01'

then b.count

else

0end) as

'失敗筆數',

max(case b.status when

'02'

then b.count

else

0end) as

'處理中筆數'

from (select a.channelid,a.transtype,a.status,count(*) as

count

from trans_flow a group

by a.channelid,a.transtype,a.`status`) as b

group

by b.channelid,b.transtype

mysql如何分類統計數量

比如我表test裡面有id,mc,xh三個字段 分別是自動編號,鋼材名稱 若干種 鋼材型號 大號,中號,小號 id mc xh 1鋼管 大號 2銅管 大號 3鐵管 小號 4鋁管 中號 5 鋼管 小號 我現在要分別統計出 mc 裡面的各種型號的東西有多少。意思是 我要統計鋼管,銅管,鐵管,鋁管的大,中...

mysql如何分類統計數量

比如我表test裡面有id,mc,xh三個字段 分別是自動編號,鋼材名稱 若干種 鋼材型號 大號,中號,小號 id mc xh 1鋼管 大號 2銅管 大號 3鐵管 小號 4鋁管 中號 5 鋼管 小號 我現在要分別統計出 mc 裡面的各種型號的東西有多少。意思是 我要統計鋼管,銅管,鐵管,鋁管的大,中...

mysql 動態行轉列 MySQL行轉列

比如乙個單子,多個收據單用逗號隔開,怎麼把這乙個單子所有收據單獨展示出來,行轉成列呢?方法一 這裡需要用到迴圈,首先建立乙個1 10的序列 select rownum rownum 1 as seq from select rownum 0 r,bills limit 0,10 其次依次運用 sub...