117.info
人生若只如初见

sql转置行列的方法是什么

在 SQL 中实现行列转置可以通过使用 CASE WHEN 结构来实现。以下是一个示例代码:

假设有一个表格 original_table 包含以下数据:

id col1 col2 col3
1 A B C
2 D E F

要将该表格的列转置为行,可以使用以下 SQL 语句:

SELECT 
    'col1' AS column_name,
    MAX(CASE WHEN id = 1 THEN col1 END) AS row1,
    MAX(CASE WHEN id = 2 THEN col1 END) AS row2
FROM original_table
UNION ALL
SELECT 
    'col2' AS column_name,
    MAX(CASE WHEN id = 1 THEN col2 END) AS row1,
    MAX(CASE WHEN id = 2 THEN col2 END) AS row2
FROM original_table
UNION ALL
SELECT 
    'col3' AS column_name,
    MAX(CASE WHEN id = 1 THEN col3 END) AS row1,
    MAX(CASE WHEN id = 2 THEN col3 END) AS row2
FROM original_table;

以上 SQL 语句将会将原始表格的列转置为行,生成如下结果:

column_name row1 row2
col1 A D
col2 B E
col3 C F

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe36fAzsIBANWDVQ.html

推荐文章

  • sql insert命令怎么使用

    INSERT命令用于向数据库表中插入新的行或记录。
    使用INSERT命令的一般语法如下:
    INSERT INTO 表名 (列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ......

  • sql的datediff函数用法有哪些

    在SQL中,DATEDIFF函数用于计算两个日期之间的差异。它的用法如下:
    DATEDIFF(unit, start_date, end_date)
    其中,unit参数表示要计算的时间单位,可以...

  • sql insert语句怎么使用

    SQL INSERT语句用于向数据库表中插入新的行或记录。它的基本语法如下:
    INSERT INTO table_name (column1, column2, column3, ...)
    VALUES (value1, v...

  • sql front怎么使用

    SQL Front是一个用于管理和开发SQL数据库的工具。以下是使用SQL Front的步骤: 下载和安装SQL Front。你可以在官方网站上找到SQL Front的下载链接,并按照安装向...

  • db2怎么查询表的修改记录

    要查询表的修改记录,可以通过以下步骤: 使用系统表来查询表的修改记录,可以通过以下查询语句来获取表的修改记录: SELECT * FROM SYSIBM.SYSHISTORY WHERE TB...

  • db2数据库表内如何编辑内容

    要编辑db2数据库表内的内容,可以使用UPDATE语句。以下是一个基本的UPDATE语句示例:
    UPDATE table_name
    SET column1 = value1, column2 = value2

  • db2更改表名称的方法是什么

    要更改表的名称,可以使用ALTER TABLE语句,具体语法如下:
    ALTER TABLE table_name RENAME TO new_table_name; 在这个语句中,table_name是要更改名称的现...

  • 数据库中怎么查询表的创建时间

    要查询表的创建时间,可以通过以下SQL语句来查找:
    SELECT create_time
    FROM information_schema.tables
    WHERE table_schema = 'your_database_n...