如何用MySQL实现同ID对应的category字段值合并分组?
合并MySQL中相同ID的category字段值
原始数据表
| ID | title | category |
|---|---|---|
| 1 | test | a |
| 1 | test | b |
| 2 | test2 | c |
| 2 | test2 | d |
| 3 | test3 | e |
| 3 | test3 | f |
目标结果表
| ID | title | category |
|---|---|---|
| 1 | test | a,b |
| 2 | test2 | c,d |
| 3 | test3 | e,f |
实现SQL语句
使用MySQL内置的GROUP_CONCAT()聚合函数,配合GROUP BY分组即可实现需求:
SELECT ID, title, GROUP_CONCAT(category SEPARATOR ',') AS category FROM your_table_name GROUP BY ID, title;
说明
GROUP_CONCAT():将分组内的category字段值拼接成字符串,默认用逗号分隔,因此SEPARATOR ','可以省略,写上是为了更明确展示分隔符规则。GROUP BY ID, title:按照ID和title分组,因为相同ID对应的title值一致,分组后能确保每个组对应唯一的ID和title。
内容的提问来源于stack exchange,提问作者nori
相关产品推荐
相关产品推荐

