如何在MySQL的CONCAT中使用GROUP_CONCAT
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何在MySQL的CONCAT中使用GROUP_CONCAT,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含983字,纯文字阅读大概需要2分钟。
内容图文
![如何在MySQL的CONCAT中使用GROUP_CONCAT](/upload/InfoBanner/zyjiaocheng/891/ae9c96040eb1468ab574738342303d90.jpg)
如果我在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;
你可以在这里看到它实现:Sql Fiddle Demo.正是你需要的.
更新
分两步拆分.首先,我们得到一个表,其中包含所有值(逗号分隔)与唯一[Name,id].然后从获得的表中获取所有名称和值作为针对每个唯一ID的单个值
请参见此处解释的SQL Fiddle Demo(向下滚动,因为它有两个结果集)
编辑在阅读问题时出错,我只按id分组.但是如果(值要按名称和ID分组,然后按ID分组,则需要两个group_contacts).以前的答案是
select
id,group_concat(concat(`name`,':',`value`) separator ',')
as Result from mytbl group by id
你可以在这里看到它:SQL Fiddle Demo
内容总结
以上是互联网集市为您收集整理的如何在MySQL的CONCAT中使用GROUP_CONCAT全部内容,希望文章能够帮你解决如何在MySQL的CONCAT中使用GROUP_CONCAT所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。