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数据导出成bin文件格式

    将SQL数据导出成bin文件格式的方法有很多种,以下是其中一种常用的方法: 使用SQL命令将数据导出成文本文件(例如CSV格式)
    使用编程语言(如Python)读取文...

  • SQL中怎么用truncate彻底删除指定数据

    在SQL中,可以使用TRUNCATE TABLE语句来彻底删除指定数据。这个语句会删除表中的所有数据,并且不会触发任何触发器。使用TRUNCATE TABLE语句可以更快速地删除大量...

  • SQL中truncate怎么删除表数据

    在SQL中,可以使用TRUNCATE TABLE语句来删除表中的所有数据,但保留表结构。语法如下:
    TRUNCATE TABLE table_name; 其中,table_name是要删除数据的表的名...

  • SQL select语句使用要注意哪些事项

    在使用SQL SELECT语句时,需要注意以下事项: 语法正确性:确保SELECT语句的语法是正确的,包括正确的关键字、表名、字段名等。 数据库连接:在执行SELECT语句之...

  • 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...