当前位置: 首页 > article >正文

oracle 行转列(PIVOT 多个行数据按照指定的列进行汇总) 列转行(UNPIVOT)

-- PIVOT是Oracle 11g版本引入的一个功能, 用来做行转列
-- as count1   as count2必须加上, 这样列名就没有引号了

使用场景:PIVOT常用于数据透视、数据汇总和数据展示等场景,例如将多个行数据按照指定的列进行汇总,生成一条汇总数据,或将多条行数据合并为一行展示数据。

SELECT *
FROM (
    SELECT value,
           CASE WHEN ROWNUM = 1 THEN 'count1' WHEN ROWNUM = 2 THEN 'count2' END AS category
    FROM (select 1 value from dual union select 2 from dual) a
)
PIVOT (
    MAX(value) FOR category IN ('count1' as count1 , 'count2' as count2)
)

MySQL中,实现行转列的操作通常需要使用CASE WHEN语句结合GROUP BY和聚合函数来完成


http://www.kler.cn/a/369030.html

相关文章:

  • Bi-LSTM-CRF实现中文命名实体识别工具(TensorFlow)
  • uniapp+uniCloud前端独立开发全栈项目Vue3版本学习路线,轻松开发H5、微信小程序、APP
  • 原创作品——GIS和监控软件设计
  • MySQL——test4(综合练习)
  • 从0到1,用Rust轻松制作电子书
  • 嵌入式刷题(day21)
  • RHCE笔记-NFS服务
  • 第十七周:机器学习
  • 2025年软考高级哪个最简单?
  • 重构商业生态:DApp创新玩法与盈利模式的深度剖析
  • c语言中整数在内存中的存储
  • 7、基于爬虫+Flask+Echarts+MySQL的网易云评论可视化大屏
  • 【MySQL】提高篇—数据完整性与约束:主键、外键、唯一约束和检查约束的概念
  • Linux 命令行查看当前目录的总大小/总磁盘空间/磁盘清理
  • Oracle 19c RAC删除多余的PDB的方式
  • Vue 3 对接保利威云点播播放器实践
  • 使用pandas进行数据分析
  • 【Linux】————进程间通信(匿名管道)
  • 数据结构(JAVA)JDK17语法新增特性
  • java spark解决文件读取乱码问题
  • rtp协议:rtcp包格式和传输间隔
  • 【Python】Python面向对象编程进阶:继承、多态与封装
  • 01,http 协议
  • 【开源鸿蒙】OpenHarmony 5.0轻量系统最小开发环境搭建
  • DC-9靶场渗透
  • 等保测评与风险管理:识别、评估和缓解潜在的安全威胁