如何巧妙运用 Oracle 的 unpivot 函数

   2024-09-30 8110
核心提示:Oracle 的 UNPIVOT 函数可以将多个列转换为多行,这样更容易进行数据分析和处理创建一个包含多个列的表:CREATE TABLE sales_dat

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_dataUNPIVOT (    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 函数。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号