最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • oracle怎么转换为列

    oracle 数据库的 pivot 函数可将行数据转换为列数据,语法为:pivot (agg_expr for col_name in (value1, value2, …, valuen) [partition by partition_col_name1, …, partition_col_namen])。示例使用场景是将多个行的 sport 列转换为对应列,如 basketball、soccer、baseball。

    oracle怎么转换为列

    如何将 Oracle 数据转换成列

    Oracle 数据库提供了一个名为 PIVOT 的函数,它可以将行数据转换为列数据。PIVOT 函数的语法如下:

    PIVOT (
        agg_expr
        FOR col_name
        IN (value1, value2, ..., valueN)
        [PARTITION BY partition_col_name1, ..., partition_col_nameN]
    )

    示例:

    将以下表中的行数据转换为列数据:

    ID Name Sport
    1 John Basketball
    2 Mary Soccer
    3 Bob Basketball
    4 Jane Soccer
    5 Tom Baseball

    使用 PIVOT 函数将其转换为列数据:

    SELECT ID,
           MAX(CASE WHEN Sport = 'Basketball' THEN Name END) AS Basketball,
           MAX(CASE WHEN Sport = 'Soccer' THEN Name END) AS Soccer,
           MAX(CASE WHEN Sport = 'Baseball' THEN Name END) AS Baseball
    FROM (
        SELECT ID, Name, Sport
        FROM table_name
    )
    PIVOT (
        Name
        FOR Sport
        IN ('Basketball', 'Soccer', 'Baseball')
    )
    GROUP BY ID;

    输出:

    ID Basketball Soccer Baseball
    1 John NULL NULL
    2 NULL Mary NULL
    3 Bob NULL NULL
    4 NULL Jane NULL
    5 NULL NULL Tom
    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » oracle怎么转换为列
    • 7会员总数(位)
    • 25846资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 293稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情