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;

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

相关推荐
troy1287 小时前
向量数据库选型指南:Milvus / Qdrant / Chroma / pgvector
数据库·milvus
彧azz7 小时前
Redis 全面指南:从核心概念到高可用架构实战
数据库·redis·架构
DBA小马哥8 小时前
MongoDB 数据同步怎么做?oplog、Change Streams、同步工具 4 种方案一次讲清(附踩坑清单)
数据库·mongodb
香菜TTT9 小时前
Redis的哨兵机制
java·数据库·redis
风哥2号10 小时前
数据库教程FGMT13‑Oracle性能优化之数据仓库与分区表
数据库·oracle·性能优化
玉宇夕落10 小时前
Docker + Milvus,数据库永久存放记忆,让对话历史永不丢失
数据库·docker·llm
子非鱼a11 小时前
【WEB】[GXYCTF2019]BabySQli
sql
Zenova EdgeOS11 小时前
工业网关数据持久化:从同步到 WAL 的工程实战
网络·数据库·oracle
企查查数据服务11 小时前
全军禁入下客商准入风控,关联图谱与穿透核查
大数据·开发语言·数据库·php