温馨提示×

oracle多行转多列怎么实现

小亿
84
2024-04-22 17:41:46
栏目: 云计算

在Oracle中,可以使用PIVOT函数将多行数据转换为多列数据。以下是一个示例:

假设有一个名为sales的表,包含以下数据:

region product sales_amount
North A 100
North B 200
North C 150
South A 120
South B 250
South C 180

要将上述数据转换为多列,可以使用以下SQL查询:

SELECT *
FROM (
  SELECT region, product, sales_amount
  FROM sales
)
PIVOT (
  SUM(sales_amount)
  FOR product IN ('A' AS A, 'B' AS B, 'C' AS C)
)
ORDER BY region;

执行以上查询将得到以下输出:

REGION A B C
North 100 200 150
South 120 250 180

这样就将原始的多行数据转换为了多列数据。

0