十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
在Oracle中,可以使用UNPIVOT函数将列转行。首先需要创建一个表,包含需要转换的列和值,然后使用UNPIVOT函数进行转换。
在Oracle中,可以使用UNPIVOT函数将列转行,以下是详细的步骤:

梅县ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
1、创建表和插入数据
创建一个表并插入一些数据,创建一个名为sales_data的表,包含以下字段:product, year, q1, q2, q3, q4。
CREATE TABLE sales_data (
  product VARCHAR2(50),
  year NUMBER,
  q1 NUMBER,
  q2 NUMBER,
  q3 NUMBER,
  q4 NUMBER
);
INSERT INTO sales_data (product, year, q1, q2, q3, q4)
VALUES ('Product A', 2020, 100, 200, 300, 400);
INSERT INTO sales_data (product, year, q1, q2, q3, q4)
VALUES ('Product B', 2020, 150, 250, 350, 450);
2、使用UNPIVOT函数
接下来,使用UNPIVOT函数将列转行,假设我们想要将q1、q2、q3和q4列转换为单独的行,可以使用以下查询:
SELECT *
FROM sales_data
UNPIVOT (
  sales FOR year IN (
    q1 AS '2020Q1',
    q2 AS '2020Q2',
    q3 AS '2020Q3',
    q4 AS '2020Q4'
  )
);
这将返回以下结果:
| product | year | 2020Q1 | 2020Q2 | 2020Q3 | 2020Q4 | 
| Product A | 2020 | 100 | 200 | 300 | 400 | 
| Product B | 2020 | 150 | 250 | 350 | 450 | 
现在,我们已经成功地将列转行了。