阅读量:2
Oracle UNPIVOT 函数可以将多个列的数据转换为行
- 首先,假设您有一个名为 SALES_DATA 的表,其中包含以下数据:
PRODUCT | JAN_SALES | FEB_SALES | MAR_SALES
---------|------------|-----------|-----------
A | 100 | 200 | 300
B | 400 | 500 | 600
- 使用 UNPIVOT 函数将数据从列转换为行:
SELECT PRODUCT, MONTH, SALES
FROM SALES_DATA
UNPIVOT (SALES FOR MONTH IN (JAN_SALES AS 'Jan', FEB_SALES AS 'Feb', MAR_SALES AS 'Mar'));
这将返回以下结果:
PRODUCT | MONTH | SALES
---------|-------|-------
A | Jan | 100
A | Feb | 200
A | Mar | 300
B | Jan | 400
B | Feb | 500
B | Mar | 600
在此示例中,我们使用 UNPIVOT 子句将 JAN_SALES、FEB_SALES 和 MAR_SALES 列转换为行。UNPIVOT 子句中的 FOR 子句定义了新的 MONTH 列,该列包含原始列名(‘Jan’、‘Feb’ 和 ‘Mar’)。SALES 列包含这些月份的销售额。
通过使用 Oracle UNPIVOT 函数,您可以轻松地将多列数据转换为行格式,从而实现数据透视。
以上就是关于“如何利用 Oracle unpivot 函数实现数据透视”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm