学堂 学堂 学堂公众号手机端

oracle多行转多列怎么实现

lewis 3年前 (2022-07-28) 阅读数 8 #技术

在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

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

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门