Mysql分组合并函数并进行数据列处理

有这么一个表tb:

+--+----+
|id|name|
+--+----+
|1|小红|
|1|小明|
|2|小张|
|2|小张|
+--+----+

要以id分组,把name字段合并到一行。
使用mysql的group_concat函数很方便的实现:

mysql>select id,group_concat(name) from tb group by id;
+--+--------------------+
|id|group_concat(name)|
+--+--------------------+
|1|小红,小明|
|2|小张,小张|
+--+--------------------+

我在处理完后还要在字段上加item标签放入xml,即:

<item>1</item>
<item>2</item>
<item>小红,小明</item>
<item>小张,小张</item>

用sublime(shift+鼠标右键列选取编辑)或者其他编辑器都可以很方便的处理。

附group_concat的其他用法:

  • 合并后用分号分隔:替换group_concat函数为group_concat(name separator ';')
  • 去冗余:group_concat(distinct name)
  • 倒序排列:group_concat(name order by name desc)

转载于:https://www.cnblogs.com/sonic0214/p/4308333.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值