如何使用GROUP BY连接MySQL中的字符串?

时间:2020-03-06 14:53:09  来源:igfitidea点击:

基本上,问题是如何从中获得收益:

id    string
1          A
1          B
2          C

对此:

id    string
1          A B
2          C

解决方案

SELECT id, GROUP_CONCAT(string SEPARATOR ' ') FROM table GROUP BY id;

http://dev.mysql.com/doc/refman/5.0/zh-CN/group-by-functions.html#function_group-concat

从上面的链接,GROUP_CONCAT:该函数返回一个字符串结果,该字符串结果包含来自组的串联的非NULL值。如果没有非NULL值,则返回NULL。

SELECT id, GROUP_CONCAT( string SEPARATOR ' ') FROM table GROUP BY id

此处有更多详细信息。

从上面的链接,GROUP_CONCAT:该函数返回一个字符串结果,该字符串结果包含来自组的串联的非NULL值。如果没有非NULL值,则返回NULL。

SELECT id, GROUP_CONCAT(CAST(string as CHAR)) FROM table GROUP BY id

将给我们一个逗号分隔的字符串

SET group_concat_max_len=100000000