sql 行列互换

在SQL中进行行列互换可以使用PIVOT函数。下面是一个示例查询及其对应的结果:

  • 创建测试表格
sql 复制代码
CREATE TABLE test_table (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    category VARCHAR(50)
);
  • 向测试表格插入数据
sql 复制代码
INSERT INTO test_table VALUES (1, 'A', 'Category A');
INSERT INTO test_table VALUES (2, 'B', 'Category B');
INSERT INTO test_table VALUES (3, 'C', 'Category C');
INSERT INTO test_table VALUES (4, 'D', 'Category D');
INSERT INTO test_table VALUES (5, 'E', 'Category E');
  • 使用PIVOT函数进行行列互换
sql 复制代码
SELECT * FROM (
    SELECT id, name, category
    FROM test_table
) AS src
PIVOT (
    MAX(name) FOR category IN ([Category A], [Category B], [Category C], [Category D], [Category E])
) AS piv;

运行上述查询后,将会得到如下结果:

相关推荐
枷锁—sha几秒前
【PortSwigger Academy】SQLi UNION 攻击 (确定列数)
服务器·数据库·学习·安全·网络安全
qq_366086222 分钟前
sql server多字段字符串模糊查询存在字段null值查询失效问题
数据库
无籽西瓜a4 分钟前
详解Redis持久化:RDB、AOF与混合持久化
数据库·redis·缓存
人工智能知识库4 分钟前
华为HCCDA-GaussDB题库(带详细解析)
数据库·华为·gaussdb·题库·hccda-gaussdb·hccda
齐 飞6 分钟前
数据库批量插入耗时过长问题rewriteBatchedStatements=true
数据库·mysql
sg_knight6 分钟前
SQL 中的 IFNULL 函数是什么?
数据库·sql·mysql·oracle·database·关系型数据库·db
程序员黄老师13 分钟前
一分钟了解时序数据库(TSDB)
大数据·数据库·时序数据库
你才是臭弟弟13 分钟前
时序数据库TDengine TSDB(安装/介绍)
数据库·时序数据库·tdengine
正在走向自律13 分钟前
从“可用”到“好用”:金仓时序数据库开发者体验深度测评与二次开发生态搭建指南
数据库·时序数据库·金仓数据库
1.14(java)14 分钟前
事务操作全解析:ACID特性与实战技巧
数据库·事务·acid特性