如何利用 Oracle unpivot 函数实现数据透视

   2024-09-30 9030
核心提示:Oracle UNPIVOT 函数可以将多个列的数据转换为行首先,假设您有一个名为 SALES_DATA 的表,其中包含以下数据:PRODUCT | JAN_SAL

Oracle UNPIVOT 函数可以将多个列的数据转换为行

首先,假设您有一个名为 SALES_DATA 的表,其中包含以下数据:
PRODUCT | JAN_SALES | FEB_SALES | MAR_SALES---------|------------|-----------|-----------A        | 100        | 200       | 300B        | 400        | 500       | 600
使用 UNPIVOT 函数将数据从列转换为行:
SELECT PRODUCT, MONTH, SALESFROM SALES_DATAUNPIVOT (SALES FOR MONTH IN (JAN_SALES AS 'Jan', FEB_SALES AS 'Feb', MAR_SALES AS 'Mar'));

这将返回以下结果:

PRODUCT | MONTH | SALES---------|-------|-------A        | Jan   | 100A        | Feb   | 200A        | Mar   | 300B        | Jan   | 400B        | Feb   | 500B        | Mar   | 600

在此示例中,我们使用 UNPIVOT 子句将 JAN_SALES、FEB_SALES 和 MAR_SALES 列转换为行。UNPIVOT 子句中的 FOR 子句定义了新的 MONTH 列,该列包含原始列名(‘Jan’、‘Feb’ 和 ‘Mar’)。SALES 列包含这些月份的销售额。

通过使用 Oracle UNPIVOT 函数,您可以轻松地将多列数据转换为行格式,从而实现数据透视。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号