使用 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中文網其他相關文章!