oracle 橫向列變為縱向列


很多業務需求存儲數據的時候都采取key/value的形式,展示時則需要key1,key2,key3....展示

效果如下:

圖片說明

 

 

sql語句如下

SELECT 

ROUND(SUM(CASE WHEN DATA_ITEM_CODE='BACKN52'  THEN DATA_ITEM_VALUE ELSE '0' END),2) AS 磨煤機入口壓力,ROUND(SUM(CASE WHEN DATA_ITEM_CODE='BACKN53'  THEN DATA_ITEM_VALUE ELSE '0' END),2)  AS 磨煤機加載壓力,

ROUND(SUM(CASE WHEN DATA_ITEM_CODE = 'BACKN54'  THEN DATA_ITEM_VALUE ELSE '0' END), 2) AS 收粉器入口壓力, ROUND(SUM(CASE WHEN DATA_ITEM_CODE = 'BACKN55'  THEN DATA_ITEM_VALUE ELSE '0' END), 2)  AS 收粉器出口壓力,

ROUND(SUM(CASE WHEN DATA_ITEM_CODE = 'BACKN56'  THEN DATA_ITEM_VALUE ELSE '0' END), 2) AS 煤粉倉重, ROUND(SUM(CASE WHEN DATA_ITEM_CODE = 'BACKN57'  THEN DATA_ITEM_VALUE ELSE '0' END), 2)  AS 廢氣溫度

 from(SELECT * FROM TABLE_NAME WHERE WORK_TIME >= TO_CHAR('20200921' - 1) || '200000' AND WORK_TIME <'20200921'|| '200000' ) group by WORK_TIME ORDER BY WORK_TIME;

 

關鍵字 CASE WHEN...THEN..ELSE..END
分組匯總后進行縱列變橫列(上邊的數據、圖片僅供展示)

 


 

后期會更新sql相關知識

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM