Oracle pivot & unpivot
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,pivot & unpivot 11g新特性1 pivot以列-值对的形式出现,典型的行转列报表函数。create table test_demo(id int,name varchar(20),nu
千家信息网最后更新 2026年11月02日Oracle pivot & unpivot
pivot & unpivot 11g新特性
1 pivot
以列-值对的形式出现,典型的行转列报表函数。
create table test_demo(id int,name varchar(20),nums int); ---- 创建表insert into test_demo values(1, '苹果', 1000);insert into test_demo values(2, '苹果', 2000);insert into test_demo values(3, '苹果', 4000);insert into test_demo values(4, '橘子', 5000);insert into test_demo values(5, '橘子', 3000);insert into test_demo values(6, '葡萄', 3500);insert into test_demo values(7, '芒果', 4200);insert into test_demo values(8, '芒果', 5500);commit; select name, sum(nums) from test_demo group by name; select * from (select name, nums fromtest_demo)pivot(sum(nums) for name in('苹果', '橘子', '葡萄', '芒果')); SQL> select * 2 from (select name, nums from test_demo) 3 pivot(sum(nums) 4 for name in('苹果' as "苹果", '橘子', '葡萄', '芒果')); --别名使用 苹果 '橘子' '葡萄' '芒果'---------- ---------- ---------- ---------- 7000 8000 3500 9700这里再说语法:
pivot聚合函数 for 列名 in 类型 ,其中 in 中可以指定别名,in中还可以指定子查询,比如 select distinct code from customers
2 unpivot
典型的列转行报表函数
create table Fruit(id int,name varchar(20), Q1 int, Q2 int, Q3 int,Q4 int);这里Q1 int, Q2int, Q3 int, Q4 int表示四季度。insert into Fruit values(1,'苹果',1000,2000,3300,5000);insert into Fruit values(2,'橘子',3000,3000,3200,1500);insert into Fruit values(3,'香蕉',2500,3500,2200,2500);insert into Fruit values(4,'葡萄',1500,2500,1200,3500);commit;select * from Fruit; select id , name, quarter, sell from Fruit unpivot (sell for quarterin (q1, q2, q3, q4));
注意:unpivot没有聚合函数,quarter、sell字段也是临时的变量。
这里sell是统计值,quarter表示季度及类型。
执行结果:
SQL> select id , name, quarter, sell from Fruit unpivot (sell forquarter in (q1, q2, q3, q4)); ID NAME QUARTER SELL--------------------------------------- -------------------- ---------------------------------------------- 1 苹果 Q1 1000 1 苹果 Q2 2000 1 苹果 Q3 3300 1 苹果 Q4 5000 2 橘子 Q1 3000 2 橘子 Q2 3000 2 橘子 Q3 3200 2 橘子 Q4 1500 3 香蕉 Q1 2500 3 香蕉 Q2 3500 3 香蕉 Q3 2200 3 香蕉 Q4 2500 4 葡萄 Q1 1500 4 葡萄 Q2 2500 4 葡萄 Q3 1200 4 葡萄 Q4 3500
苹果
橘子
葡萄
芒果
香蕉
函数
典型
别名
报表
类型
变量
四季
字段
季度
定子
形式
特性
结果
语法
查询
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
耶加雪菲
上海挚品互联网科技有限公司
科技服务与互联网
互联网科技集团
互联网 的科技创新
互联网与未来科技
安徽鑫晟辉互联网科技
互联网科技ppt模板
米客互联网科技
互联网科技股有哪些
卓越科技互联网 招聘
互联网科技股午盘股票涨跌
深圳互联网科技怎么样
农村开互联网科技讲堂
崇明区互联网教育科技售后服务
2021互联网科技公司排名
广州千川互联网科技有限公司
启辰互联网科技
九思连强互联网电子科技有限公司
陕西九四连强互联网科技有限公司
科技金融是不是互联网金融
上海互联网科技有限公司
西安互联网科技
中国的互联网科技企业的崛起
湖南诚度互联网科技有限公司
呼和浩特新华互联网科技学院
烟台灵鸽互联网科技有限公司
浙南科技城互联网大厦招聘
上海乐五互联网科技有限公司
西安有哪些互联网高科技企业