将两个值组合成一个字段
Posted
技术标签:
【中文标题】将两个值组合成一个字段【英文标题】:Group Concat Two Values Into One field 【发布时间】:2019-12-18 23:13:57 【问题描述】:组 concat 快把我逼疯了。
我有 1 表 2 列
FRUIT QUANTITY
APPLE 4
ORANGE 6
我想将这些组合成一个字段
orange:4, apples:6
【问题讨论】:
查看这篇文章可能会对您有所帮助:***.com/questions/13451605/… 【参考方案1】:你可以concat()
每一行的两列,然后group_concat()
所有行的结果:
select group_concat(concat(fruit, ':', qty) separator ', ') res from mytable
您可能需要考虑将order by
添加到group_concat()
以获得可预测的一致结果。
【讨论】:
太棒了!谢谢:-) @Harvillo:欢迎。如果这正确回答了您的问题,请考虑accepting it,点击复选标志...谢谢!【参考方案2】:您可以在GROUP_CONCAT()
调用中列出多个列和其他值,它会将它们连接在一起。
SELECT GROUP_CONCAT(fruit, ':', qty SEPARATOR ', ') AS fruits
FROM yourTable
如果您有很多列要像这样加入,您可以使用CONCAT_WS()
将它们全部连接在一起并使用相同的分隔符。见GROUP_CONCAT multiple columns as an array or exolodable string
【讨论】:
以上是关于将两个值组合成一个字段的主要内容,如果未能解决你的问题,请参考以下文章