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

2021-11-20 00:00:00 string sql concatenation aggregate mysql

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

<前>foo_id foo_name1 安1 乙2 C

为此:

<前>foo_id foo_name1 甲乙2 C

解决方案

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

https://dev.mysql.com/doc/refman/8.0/en/aggregate-functions.html#function_group-concat

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

Basically the question is how to get from this:

foo_id   foo_name
1        A
1        B
2        C

to this:

foo_id   foo_name
1        A B
2        C

解决方案

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

https://dev.mysql.com/doc/refman/8.0/en/aggregate-functions.html#function_group-concat

From the link above, GROUP_CONCAT: This function returns a string result with the concatenated non-NULL values from a group. It returns NULL if there are no non-NULL values.

相关文章