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;

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

相关推荐
嘴对嘴编程1 小时前
oracle数据泵操作
数据库·oracle
·薯条大王7 小时前
MySQL联合查询
数据库·mysql
morris1319 小时前
【redis】redis实现分布式锁
数据库·redis·缓存·分布式锁
hycccccch9 小时前
Canal+RabbitMQ实现MySQL数据增量同步
java·数据库·后端·rabbitmq
这个懒人10 小时前
深入解析Translog机制:Elasticsearch的数据守护者
数据库·elasticsearch·nosql·translog
Yan-英杰10 小时前
【百日精通JAVA | SQL篇 | 第二篇】数据库操作
服务器·数据库·sql
NineData11 小时前
NineData云原生智能数据管理平台新功能发布|2025年3月版
数据库
百代繁华一朝都-绮罗生12 小时前
检查是否存在占用内存过大的SQL
数据库·sql
吾日三省吾码12 小时前
Python 脚本:自动化你的日常任务
数据库·python·自动化
CZIDC12 小时前
win11 系统环境下 新安装 WSL ubuntu + ssh + gnome 桌面环境
数据库·ubuntu·ssh