阅读量:3
Oracle 的 UNPIVOT 函数可以将多个列转换为多行,这样更容易进行数据分析和处理
- 创建一个包含多个列的表:
CREATE TABLE sales_data (
product_id NUMBER,
product_name VARCHAR2(50),
sales_2020 NUMBER,
sales_2021 NUMBER
);
- 向表中插入一些示例数据:
INSERT INTO sales_data VALUES (1, 'Product A', 1000, 1200);
INSERT INTO sales_data VALUES (2, 'Product B', 800, 900);
INSERT INTO sales_data VALUES (3, 'Product C', 1500, 1600);
COMMIT;
- 使用 UNPIVOT 函数将销售数据从多列转换为多行:
SELECT *
FROM sales_data
UNPIVOT (
sales_value FOR sales_year IN (sales_2020 AS '2020', sales_2021 AS '2021')
);
这将返回以下结果:
PRODUCT_ID PRODUCT_NAME SALES_YEAR SALES_VALUE
---------- ------------ ---------- -----------
1 Product A 2020 1000
1 Product A 2021 1200
2 Product B 2020 800
2 Product B 2021 900
3 Product C 2020 1500
3 Product C 2021 1600
现在,我们已经成功地将多列的销售数据转换为多行。接下来,你可以对这些数据进行进一步的查询、分析或者报告。
注意:在实际应用中,你可能需要根据自己的需求调整表结构、数据和查询。上面的示例仅用于说明如何使用 UNPIVOT 函数。
以上就是关于“如何巧妙运用 Oracle 的 unpivot 函数”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm