Oracle行转列

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

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

1、实际的数据存储

Oracle行转列_第1张图片

2、通过sql得到的数据

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行转列_第2张图片


你可能感兴趣的:(oracle,行转列)