oracle怎么转换为列-Oracle

admin2年前 (2024-06-05)基础运维知识341
点击下载TXT

如何将 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

相关文章

oracle锁表怎么解-Oracle

如何解除 Oracle 锁表 问题:如何解除 Oracle 锁表? 解答: 方法 1:使用 DDL 语句 可以使用 ALTER TABLE 语句重新定义受影响的表,但这会丢弃所有未提交的事务。 方法...

oracle中乱码怎么解决-Oracle

Oracle 中乱码解决方案 Oracle 中乱码问题是一个常见问题,可能会对数据库操作造成困难。以下是解决 Oracle 乱码问题的步骤: 检查数据库字符集 确保数据库的字符集与您要导入或写入的...

oracle中文怎么设置-Oracle

如何设置 Oracle 的中文环境 Oracle 支持多种语言环境,包括中文。要在 Oracle 中启用中文环境,需要进行以下步骤: 1. 设置客户端语言 打开 Oracle SQL 客户端,如...

oracle索引怎么建-Oracle

如何创建 Oracle 索引 索引是数据库表中一种特殊的数据结构,用于加速数据检索。它们通过创建表中某一列或多列的排序副本来实现,使数据库可以快速找到满足特定查询条件的行。 创建 Oracle 索引...

oracle索引怎么用-Oracle

Oracle 索引的用途 索引在 Oracle 数据库中扮演着至关重要的角色,它有助于加快对数据的访问速度,进而提升查询性能。 索引的工作原理 索引是数据库中的一种特殊数据结构,它基于表的列值创建。...

oracle怎么取第一行数据-Oracle

如何在Oracle中获取第一行数据 在Oracle数据库中获取第一行数据的常用方法有以下两种: 方法1:使用ROWNUM伪列 ROWNUM伪列返回当前行的行号。可以通过如下查询获取第一行数据: SE...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。