将两个值组合成一个字段

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

【讨论】:

以上是关于将两个值组合成一个字段的主要内容,如果未能解决你的问题,请参考以下文章

STL——pair

sql server 两个数据结构相同的表合成一个表

C++ pair(对组)用法

C++ Pair _摘抄

sqlserver用编程语句怎么把两个表格横向合成一个

SQL中如何将两个相同的表格组合成一个表格