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

oracle之行转列

对于Oracle的行转列功能一直云里雾里,马马虎虎,对行转列的使用场景和使用方法都不够深刻,最近有空理解一下。
Oracle 11g后有专门的函数pivot,对于特定的场景可以直接套用。
需求:求各份job不同员工工资是多少?

jobsaldeptno
A100010
A100020
A200020
B300020
B400030
C500020
C600030
select* from
(select ②job,sal,deptno)
pivot (sum(sal) as ③s
for deptno in (10 as d10,20 as d20,30 as d30))
order by 1;

执行结果如下:

jobd10_sd20_sd30_s
A10003000
B30004000
C50006000

注释:
① 该处返回的是行转列之后的字段,如果查询原有字段会报错;
② 除了要汇总的列sal和要转换的列deptno,其他字段默认group by;
③ as后加的s与d10、d20、d30默认下划线连接,也可不做另外连接;
④ pivot子句实际执行的还是case when语句。

http://www.lryc.cn/news/524049.html

相关文章:

  • Windows电脑安装USB Redirector并实现内外网跨网USB共享通信访问
  • kafka学习笔记4-TLS加密 —— 筑梦之路
  • grafana + Prometheus + node_exporter搭建监控大屏
  • 深度学习在语音识别中的应用
  • RabbitMQ 高级特性
  • 第01章 07 MySQL+VTK C++示例代码,实现医学影像数据的IO数据库存储
  • Mysql创建定时任务
  • 【MySQL篇】使用mysqldump导入报错Unknown collation: ‘utf8mb4_0900_ai_ci‘的问题解决
  • 专业学习|最优化理论(目标函数、约束条件以及解题三板斧)
  • 【Linux】gawk编辑器二
  • Hadoop美食推荐系统 爬虫1.8w+数据 协同过滤余弦函数推荐美食 Springboot Vue Element-UI前后端分离
  • 吴恩达深度学习——神经网络编程的基础知识
  • 第14个项目:E-Learning在线学习平台Python源码
  • Qt之文件系统操作和读写
  • 【物联网】keil仿真环境设置 keilV5可以适用ARM7
  • VIVADO ILA IP进阶使用之任意设置ILA的采样频率
  • 网络编程-网络原理HTTP初识
  • 基于若依框架的动态分页逻辑的实现分析
  • 51c~ONNX~合集1
  • 【数据结构篇】顺序表 超详细
  • kubernetes 集群搭建(二进制方式)
  • linux平台RTMP|RTSP播放器如何回调SEI数据?
  • Vue uni-app免手动import
  • 7. 计算机视觉
  • 在服务器进行docker部署频繁提示permission denied
  • c/c++ static
  • C#中System.Text.Json:从入门到精通的实用指南
  • 内存故障原因与诊断(Reasons and Diagnosis of Memory Failure)
  • [操作系统] 进程状态详解
  • [论文阅读] (36)CS22 MPSAutodetect:基于自编码器的恶意Powershell脚本检测模型