Oracle行转列 pivot函数 常见用法
1.根据分类
select
code,
proname,
amt_jbgz,
...
from bgt_extable
pivot ( sum(nvl(金额,0)) for 分类字段 in(
0 as amt_jbgz,--基本工资
1 as amt_jj,--奖金
...))
2.添加后缀(多个行转列)
select
code,
proname,
amt_jbgz_shb,
amt_jbgz_shh,
amt_jbgz_yss,...
from bgt_extable
pivot ( sum(nvl(je_shb,0)) as shb,sum(nvl(je_shh,0)) as shh,sum(nvl(je_yss)) as yss for 分类字段 in(
0 as amt_jbgz,--基本工资
1 as amt_jj,--奖金
...))
3.单一多条件
select
code,
proname,
amt_jbgz_shb,
amt_jbgz_shh,
amt_jbgz_yss,
amt_qtsr_shb,
amt_qtsr_shh,
amt_qtsr_yss...
from bgt_extable
pivot ( sum(nvl(je_shb,0)) as shb,sum(nvl(je_shh,0)) as shh,sum(nvl(je_yss)) as yss for 分类字段 in(
0 as amt_jbgz,--基本工资
1 as amt_jj,--奖金
3,4,5,99 as amt_qtsr--其他收入...
))
4.非单一复杂条件
这个用的是最原始的 case when/group by
select
dwid,
sfbn,
sum(case when zjlx=35 and sfbn = 1 then amt_annual_shb else 0 end) amt_bn_jfbk_shb,--经费拨款
sum(case when zjlx=35 and sfbn = 1 then amt_annual_shh else 0 end) amt_bn_jfbk_shh,
sum(case when zjlx=35 and sfbn = 1 then amt_annual_yss else 0 end) amt_bn_jfbk_yss...from basedata
group by dwid,sfbn
Oracle行转列 pivot函数 常见用法相关推荐
- Oracle 行转列 pivot函数基本用法
2018年9月30日22点,眼看着就10月份了,回头看下,8月份就写了一篇博客,9月一篇都没写,想着还是得续一续. 刚好前几天,帮一个群友处理了一个关于Oracle中行转列,根据查询中有的项目,动态转 ...
- Oracle之行转列pivot函数
文章目录 方法一: Oracle行转列pivot函数 方法二:使用MAX DECODE 实现 方法一: Oracle行转列pivot函数 语法:pivot(任一聚合函数 for 需要转列的值所在列名 ...
- unpivot用法 oracle10g,Oracle 行转列pivot 、列转行unpivot 的Sql语句总结(转)
多行转字符串 这个比较简单,用||或concat函数可以实现 1 select concat(id,username) str from app_user 2 3 select id||usernam ...
- oracle 按旬统计并且每月小计 行转列 PIVOT函数 与分组小计 ROLLUP 函数
数据库版本:oralce 11g 表名WM_TD_WATER_DAILY 结构如下,我把没用到的字段隐藏了,全放出来不太好哈. MONITOR_ID为BI_TB_MONITOR_BI的ID ,用于关 ...
- oracle行转列pivot使用详解,SQL基础教程之行转列Pivot函数
前言 未来的一个月时间中,会总结一系列SQL知识点,一次只总结一个知识点,尽量说明白,下面来说说SQL 中常用Pivot 函数(这里是用的数据库是SQLSERVER,与其他数据库是类似的,大家放心看就 ...
- Oracle 行转列pivot 、列转行unpivot 的Sql语句总结
多行转字符串 这个比较简单,用||或concat函数可以实现 [sql] view plaincopy print? select concat(id,username) str from app_u ...
- mysql行转列sql函数_SQL之行转列Pivot函数
未来的一个月时间中,会总结一系列SQL知识点,一次只总结一个知识点,尽量说明白,下面来说说SQL 中常用Pivot 函数(这里是用的数据库是SQLSERVER,与其他数据库是类似的,大家放心看就好) ...
- Oracle行转列pivot
案例一: 按天汇总学生每天学习时长 create table stu (day VARCHAR2(20),name VARCHAR2(20),len NUMBER ); INSERT INTO stu ...
- mysql行转列sql函数_sql动态行转列的两种方法
第一种方法: 代码如下: select *from ( select Url,case when Month=01 then '1月' when Month=02 then '2月' when ...
最新文章
- python 直接if判断和is not None的区别
- cmake用法及常用命令总结(全)
- 【原创】C# war3 巨魔精灵 minimap
- 经过5年的娱乐功能,编码传奇MPJ踏上了他的下一个大旅程
- ROS笔记(13) 记录与回放数据
- java concurrent 框架_Java Concurrent 框架图
- C语言排序方法------堆排序
- 如何清空_回收站删除的文件怎么恢复?回收站清空如何恢复?
- 【福利派送】高质量AI书籍又免费派送啦
- laravel框架操作数据库
- 自训练和半监督学习介绍
- 移动端app跳转百度地图
- 提高数据分析思维能力的三大方法
- 服务器连接异常系统无法登录,Win10系统电脑无法登录LOL提示服务器连接异常的原因及解决方法...
- 1. 系统符号与正则符号
- Android 多通道录音笔记
- 如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。//现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等
- KDD2022推荐系统论文集锦
- H265编码 SPS分析
- 无领导小组讨论案例及其分析1
热门文章
- 24个节气之美,每一个都如诗如画!
- 解决socket交互的10048和10055错误的总结
- amd 服务器cpu型号怎么看,Intel还是AMD?10个问题看懂CPU该如何选
- 戴尔t430服务器性能,不止双路E5 这款塔式服务器有点强
- 谈编码与Unicode标准
- ionic4.x仿京东 - 10.3.4.收货地址-修改默认收货地址、显示默认收货地址
- 服务器温度显示软件,服务器温度监控软件
- 潜龙号开启水下机器人_国之重器:“潜龙二号”,中国最先进水下机器人
- 使用插件(layui.css)对原本样式的影响
- 微软为何要收购诺基亚?