阅读量:2
在Oracle中,可以使用UNPIVOT操作将多个列转换为行
SELECT *
FROM your_table
UNPIVOT (
value -- 这是新生成的值列的名称
FOR column_name -- 这是新生成的列名列的名称
IN (column1 AS 'Column1', column2 AS 'Column2', column3 AS 'Column3') -- 这里列出你想要转换为行的列名
);
这里是一个具体的例子。假设我们有一个销售表(sales_data),包含以下列:product_id, sales_q1, sales_q2, sales_q3。我们想要将每个季度的销售额(sales_q1、sales_q2和sales_q3)转换为行。
SELECT product_id, quarter, sales
FROM sales_data
UNPIVOT (
sales
FOR quarter
IN (sales_q1 AS 'Q1', sales_q2 AS 'Q2', sales_q3 AS 'Q3')
);
执行此查询后,结果集将显示每个产品在每个季度的销售额,其中每个季度的销售额都显示为一行。
以上就是关于“Oracle unpivot 函数怎样将列转行”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm