在MySQL中,可以使用GROUP_CONCAT
函数来实现行转列操作。具体步骤如下:
假设有如下表student
:
+----+-------+------------+
| id | name | subjects |
+----+-------+------------+
| 1 | Alice | Math |
| 1 | Alice | English |
| 2 | Bob | Math |
| 2 | Bob | Science |
+----+-------+------------+
如果要将subjects
列中的数据进行行转列操作,可以使用以下SQL语句:
SELECT id, name, GROUP_CONCAT(subjects) AS subjects_list
FROM student
GROUP BY id, name;
执行以上SQL语句后,将得到以下结果:
+----+-------+---------------------+
| id | name | subjects_list |
+----+-------+---------------------+
| 1 | Alice | Math, English |
| 2 | Bob | Math, Science |
+----+-------+---------------------+
通过GROUP_CONCAT
函数将每个学生的科目拼接成一个字符串,并将其作为新的列subjects_list
返回,实现了行转列操作。
亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>
推荐阅读:mysql实现行转列的方法是什么