温馨提示×

mysql怎么实现行转列

小亿
84
2024-05-17 10:54:17
栏目: 云计算

在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返回,实现了行转列操作。

0