Oracle 几种行转列的方式 sum+decode sum+case when pivot

 目录

原始数据:

方式一:

方式二:

方式三:

unpivot的使用:


原始数据:

方式一:

select t_name,
       sum(decode(t_item, 'item1', t_num, 0)) item1,
       sum(decode(t_item, 'item2', t_num, 0)) item2,
       sum(decode(t_item, 'item3', t_num, 0)) item3,
       sum(t_num) total
  from test
 group by t_name;

方式二:

select t_name,
       sum(case
             when t_item = 'item1' then
              t_num
             else
              0
           end) item1,
       sum(case
             when t_item = 'item2' then
              t_num
             else
              0
           end) item2,
       sum(case
             when t_item = 'item3' then
              t_num
             else
              0
           end) item3,
       sum(t_num) total
  from test
 group by t_name;

方式三:

 select t.*, (nvl(t.item1, 0) + nvl(t.item2, 0) + nvl(t.item3, 0)) as total
   from (select *
           from test pivot(sum(t_num) for t_item in('item1' as item1,
                                                    'item2' as item2,
                                                    'item3' as item3))) t;

unpivot的使用:

 select t_name, t_item, t_num
 from (

    select *
      from test pivot(sum(t_num) for t_item in('item1' as item1,
                                               'item2' as item2,
                                               'item3' as item3))

 ) unpivot(t_num for t_item in(item1,item2,item3));

相关推荐

  1. MYSQL实现方式

    2024-02-08 00:28:01       20 阅读
  2. oracle 转行

    2024-02-08 00:28:01       7 阅读
  3. 页面跳方式

    2024-02-08 00:28:01       15 阅读
  4. Oracle转行使用实例

    2024-02-08 00:28:01       31 阅读
  5. Oracle备份和还原方式

    2024-02-08 00:28:01       13 阅读
  6. 复习-详解查看Oracle用户权限方法

    2024-02-08 00:28:01       40 阅读
  7. Python实现逐读取文本文件方法

    2024-02-08 00:28:01       41 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-08 00:28:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-08 00:28:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-08 00:28:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-08 00:28:01       18 阅读

热门阅读

  1. 查看 iOS 系统的日志或崩溃日志

    2024-02-08 00:28:01       32 阅读
  2. 如何使用 uniapp 开发(一)

    2024-02-08 00:28:01       37 阅读
  3. C++进阶--C++11包装器

    2024-02-08 00:28:01       27 阅读
  4. 【5G NR】移动通讯中使用的信道编解码技术

    2024-02-08 00:28:01       35 阅读
  5. Python 机器学习 特征预处理

    2024-02-08 00:28:01       31 阅读
  6. c语言编程题目:素数判断(for循环和if判断)

    2024-02-08 00:28:01       35 阅读
  7. docker compose部署gitlab 获取初始密码

    2024-02-08 00:28:01       36 阅读
  8. YOLO v8 参数设置,详解cfg/default.yaml

    2024-02-08 00:28:01       29 阅读