mysql行列转换函数有哪些 mysql行转列功能

导读:
MySQL是一种常用的关系型数据库管理系统,其行转列功能可以将数据从行格式转换为列格式 。这个功能在数据分析和报表制作中非常有用 。本文将介绍如何使用MySQL实现行转列功能 。
步骤:
1. 创建测试表并插入数据
首先 , 我们需要创建一个测试表 , 并向其中添加一些数据 。例如,我们可以创建一个包含学生姓名、科目和成绩的表 。
CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,
`subject` varchar(50) DEFAULT NULL,
`score` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
INSERT INTO `test` (`name`, `subject`, `score`) VALUES
('张三', '语文', 80),
('张三', '数学', 90),
('张三', '英语', 85),
('李四', '语文', 75),
('李四', '数学', 95),
('李四', '英语', 90);
2. 使用GROUP BY和CASE语句进行行转列
接下来,我们可以使用GROUP BY和CASE语句将数据从行格式转换为列格式 。
SELECT name,
MAX(CASE WHEN subject = '语文' THEN score ELSE NULL END) AS '语文',
MAX(CASE WHEN subject = '数学' THEN score ELSE NULL END) AS '数学',
MAX(CASE WHEN subject = '英语' THEN score ELSE NULL END) AS '英语'
FROM test
GROUP BY name;
运行以上SQL语句,我们可以得到以下结果:
+--------+------+------+------+
| name | 语文 | 数学 | 英语 |
| 张三 | 80 | 90 | 85 |
| 李四 | 75 | 95 | 90 |
总结:
【mysql行列转换函数有哪些 mysql行转列功能】本文介绍了如何使用MySQL实现行转列功能 。通过GROUP BY和CASE语句,我们可以将数据从行格式转换为列格式,使其更加适合进行数据分析和报表制作 。

    推荐阅读