從網上找了很多行轉列的。基本都是2行的行轉列。不帶日期分組的。
處理過程:
我自己有的資料,這個已經是處理後的(源資料)
圖1[img]
下圖是我自己想要實現得類似的行轉列的樣子,但是下圖,並沒有完全實現行轉列。行和列還是分離的,只是多了列,所有的行並沒有統一與合併資料
圖2[img]
最終實現的結果:
圖3[img]
下面是自己的sql
select ifnull(dayt, 'total') as total,
sum(if(tasktype='type0',num,0)) as 'type0',
sum(if(tasktype='type1',num,0)) as 'type1',
sum(if(tasktype='type2',num,0)) as 'type2',
sum(if(tasktype='type3',num,0)) as 'type3',
sum(if(tasktype='type4',num,0)) as 'type4',
sum(if(tasktype='type5',num,0)) as 'type5',
sum(if(tasktype='type6',num,0)) as 'type6',
sum(if(tasktype='type7',num,0)) as 'type7',
sum(if(tasktype='type8',num,0)) as 'type8'
from (
//省略中間的資料查詢。為圖1中的整理後的資料,也是源資料
)a
group by dayt with rollup
Mysql行轉列,列轉行,日期
學生表 student name class 小花1男 小明1女小王 1女小孫2 男小張2男 小李2那小紅 3女小草3 女查詢每個班級的男生和女生的數量 select class,sum case when 女 then 1else 0end 女,sum case when 男 then 1else...
mysql 動態行轉列 MySQL行轉列
比如乙個單子,多個收據單用逗號隔開,怎麼把這乙個單子所有收據單獨展示出來,行轉成列呢?方法一 這裡需要用到迴圈,首先建立乙個1 10的序列 select rownum rownum 1 as seq from select rownum 0 r,bills limit 0,10 其次依次運用 sub...
mysql行轉列 subs mysql 行轉列
存在表score,記錄學生的考試成績,如下圖所示 現要求以 學生姓名,語文,數學,英語 這種格式顯示學生成績,如下圖所示 具體步驟如下 1 首先,使用case when函式輸出單個課程的成績 case when course 語文 then score end as 語文 case when cou...