在 MySQL 中利用 GROUP_CONCAT 和 CONCAT 进行数据转换
在 MySQL 中,可以通过以下方式实现将多行数据合并为单个字符串:使用 GROUP_CONCAT 函数。考虑一个包含以下信息的表:
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 和 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 | Column |
---|---|
1 | A:4,5,B:8 |
2 | C:9 |
以上是MySQL 的 GROUP_CONCAT 和 CONCAT 函数如何将多行转换为单个逗号分隔的字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!