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;

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

相关推荐
OceanRoy4 小时前
数据库表的设计
数据库·内连接·外连接·er图·表的约束·三大范式·多表连接
Pniubi5 小时前
怎么排查慢SQL,怎么解决?
java·数据库·sql
Decay__9 小时前
VMware 安装 SQL Server 双节点 AlwaysOn 可用性组教程 —— WSFC、AG 与侦听器完整部署(系列核心篇)
运维·数据库·sql·mysql·架构
茶栀(*´I`*)9 小时前
SQL 性能分析:从慢查询日志到执行计划的完整定位方法
数据库·sql
艺杯羹10 小时前
1Panel 装好后 ufw 仍是 inactive:一次服务器安全盲区复盘
服务器·数据库·安全·网络安全·系统架构·实战·1panel
code2cat11 小时前
【随笔】MCP工具重试:任务已经创建,响应丢了怎么办
数据库·mcp
wuyk55513 小时前
Spider-第10讲-SQLite持久化与去重
数据库·爬虫·sqlite
乌暮14 小时前
Spring AOP 与 Spring 事务:用大白话彻底理解原理与实践
java·数据库·spring boot·后端·sql·学习·spring
小此方15 小时前
Re:Mysql数据库基础篇(十二):什么是事务、事务解决了什么问题、事务的四大属性、事务的操作方式
数据库·mysql
flash俊杰16 小时前
v0.5-01 让桌面 AI 助手记得住:预算组装、递归摘要、长期记忆与评估基线
数据库·安全·架构