借鑑了另一個哥們的文章,實現了自己想要的結果,寫出來大家可以參考。以後自己遇到同樣情況,也可以有個備份
借鑑的地址爲
https://www.cnblogs.com/gisblogs/p/3966822.html
處理過程:
我自己有的數據,這個已經是處理後的(源數據)
圖1
[img]http://dl2.iteye.com/upload/attachment/0127/7614/de307a15-3cac-3d7c-b238-4d8e5b3050cc.png[/img]
下圖是我自己想要實現得類似的行轉列的樣子,但是下圖,並沒有完全實現行轉列。行和列還是分離的,只是多了列,所有的行並沒有統一與合併數據
圖2
[img]http://dl2.iteye.com/upload/attachment/0127/7616/7aec6550-f8a0-35f3-960e-c89e9b717328.png[/img]
最終實現的結果:
圖3
[img]http://dl2.iteye.com/upload/attachment/0127/7624/1ffcbbf0-0c35-3a65-b115-70611781464a.png[/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