Oracle行转列

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

需求:现在需要像微信公众号官网一样,把关注类型转为列显示出来。

注意:我这样存储数据,是为了做图表

1、实际的数据存储

Oracle行转列_第1张图片

2、通过sql得到的数据

Oracle行转列_第2张图片

sql语句:

select a.WECHAT_ID,a."CATEGORY", 

        sum(decode(trim(a.LEGEND),'取消关注人数',a."VALUE",0)) as "取消关注人数",

       sum(decode(trim(a.LEGEND),'新增关注人数',a."VALUE",0)) as "新增关注人数",

       sum(decode(trim(a.LEGEND),'累计关注人数',a."VALUE",0)) as "累计关注人数"

 from TBL_WX_MP_STATISTICS a GROUP BY a."CATEGORY",a.WECHAT_ID;

sql解析:

现在就是通过decode转换,把行转为对应列,取对应的value值的和作为列值。

同时需要使用group by进行分组

3、展示形式

Oracle行转列_第3张图片


转载于:https://my.oschina.net/u/2472104/blog/636102

你可能感兴趣的:(数据库,python)