利用 GROUP_CONCAT 进行全面的数据串联
当面临将数据转换为统一格式的任务时,GROUP_CONCAT 成为一个强大的工具MySQL。让我们通过解决特定的数据操作问题来探索其功能:
目标:
将以下数据转换为统一格式:
id | Name | Value |
---|---|---|
1 | A | 4 |
1 | A | 5 |
1 | B | 8 |
2 | C | 9 |
期望的输出:
id | Column |
---|---|
1 | A:4,5,B:8 |
2 | C:9 |
解决方案:
为了实现此转换,我们将 GROUP_CONCAT 与子查询:
select id, group_concat(`Name` separator ',') as `ColumnName` from ( select id, concat(`Name`, ':', group_concat(`Value` separator ',')) as Name from mytbl group by id, Name ) tbl group by id;
细分:
子查询有两个用途:
示例:
考虑提供的数据。子查询产生:
id | Name |
---|---|
1 | A:4,5 |
1 | B:8 |
2 | C:9 |
外部 GROUP_CONCAT 然后产生最终输出:
id | Column |
---|---|
1 | A:4,5,B:8 |
2 | C:9 |
以上是GROUP_CONCAT 如何将 MySQL 数据合并到单个列中?的详细内容。更多信息请关注PHP中文网其他相关文章!