mysql 行轉列 (帶日期)

2021-09-02 21:14:58 字數 876 閱讀 7556

從網上找了很多行轉列的。基本都是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...