使用 MySQL 的 GROUP BY 连接多行字符串
数据库操作中一个常见的任务是连接多行字符串。在 MySQL 中,GROUP BY 子句提供了一种方便的方法来实现此目的。
任务是将如下所示的表:
foo_id | foo_name |
---|---|
1 | A |
1 | B |
2 | C |
转换为:
foo_id | foo_name |
---|---|
1 | A B |
2 | C |
解决方案涉及使用 GROUP_CONCAT 函数和 GROUP BY 子句:
<code class="language-sql">SELECT foo_id, GROUP_CONCAT(foo_name SEPARATOR ' ') FROM table GROUP BY foo_id;</code>
让我们分解一下语句:
GROUP_CONCAT
:此函数连接指定列(在本例中为 foo_name)中每个组的非 NULL 值。GROUP BY foo_id
:此子句按 foo_id 列对行进行分组,确保对每个唯一的 foo_id 值执行连接操作。SEPARATOR ' '
(可选):这指定用于分隔连接值的字符(' ' 在名称之间添加空格)。在我们的示例中,该函数将连接每个 foo_id 的 foo_name 值,从而得到所需输出。
有关 GROUP_CONCAT 的更多信息,请参阅 MySQL 文档:https://www.php.cn/link/18fc3b6cc1e55ccea877c161e2e9ba27。
以上是如何使用 GROUP BY 连接 MySQL 中多行的字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!