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,即:

1
2
小红,小明
小张,小张

用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

你可能感兴趣的:(Mysql分组合并函数并进行数据列处理)