可以使用 GROUP_CONCAT 函数将多行数据聚合成一行,具体用法如下:
SELECT group_concat(column_name SEPARATOR ‘,’) FROM table_name GROUP BY group_column;
其中,column_name 是需要聚合的列名,table_name 是表名,group_column 是需要分组的列名。SEPARATOR 是可选参数,用于指定每个值之间的分隔符,默认为逗号。
示例:
假设有一个学生表 student,包含 id、name 和 score 三列,现在需要将同一 id 的学生的成绩(score)聚合成一行,可以执行以下 SQL 语句:
SELECT id, GROUP_CONCAT(score SEPARATOR ‘,’) as scores FROM student GROUP BY id;
执行后会得到以下结果:
+—-+——–+ | id | scores | +—-+——–+ | 1 | 90,80 | | 2 | 70,85 | | 3 | 75 | +—-+——–+
其中,id 列为分组列,scores 列为聚合后的成绩列,每个值之间用逗号分隔。