首页 > 数据库技术 > 详细

oracle 横向列变为纵向列

时间:2020-10-07 10:19:31      阅读:73      评论:0      收藏:0      [点我收藏+]

很多业务需求存储数据的时候都采取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相关知识

技术分享图片

 

oracle 横向列变为纵向列

原文:https://www.cnblogs.com/shenbing/p/13776338.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!