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 中国語 Web サイトの他の関連記事を参照してください。