当前位置:首页 > 行业动态 > 正文

Oracle19c实现行数据快速转换列数据

在Oracle 19c中,可以使用 PIVOT操作实现行数据快速转换为列数据。通过定义聚合函数和分组条件,可以将行数据转换为列数据,以便更直观地展示数据。

要在Oracle 19c中实现行数据快速转换为列数据,可以使用PIVOT操作符,以下是详细的步骤和小标题:

1. 创建测试表

创建一个包含行数据的表,

CREATE TABLE sales_data (
  product VARCHAR2(50),
  year    NUMBER,
  amount  NUMBER
);

插入一些测试数据:

INSERT INTO sales_data VALUES ('产品A', 2018, 100);
INSERT INTO sales_data VALUES ('产品B', 2018, 200);
INSERT INTO sales_data VALUES ('产品A', 2019, 150);
INSERT INTO sales_data VALUES ('产品B', 2019, 250);
COMMIT;

2. 使用PIVOT进行行转列

使用PIVOT操作符将行数据转换为列数据,在这个例子中,我们将product字段的值转换为列,amount字段的值作为新列的值,year字段的值保持不变。

SELECT *
FROM sales_data
PIVOT (
  SUM(amount)
  FOR product IN ('产品A' AS A, '产品B' AS B)
);

执行上述查询后,将得到以下结果:

YEAR A B
2018 100 200
2019 150 250

这样,我们就实现了行数据到列数据的快速转换。

0