GROUP_CONCAT を使用した MySQL の重複エントリの結合
このガイドでは、同一の foo_id
値を持つ行をマージし、対応する foo_name
エントリを MySQL テーブル内の単一の文字列に連結する方法について説明します。
解決策: GROUP_CONCAT と GROUP BY
MySQL の GROUP_CONCAT
関数を GROUP BY
と組み合わせて使用すると、この問題を効率的に解決できます。 クエリは次のとおりです:
<code class="language-sql">SELECT id, GROUP_CONCAT(name SEPARATOR ' ') FROM table GROUP BY id;</code>
クエリの内訳:
SELECT id, GROUP_CONCAT(name SEPARATOR ' ')
: これは、id
列を選択し、GROUP_CONCAT
を使用して各グループの name
列の値を結合します。 SEPARATOR ' '
は、連結された名前間の区切り文字としてスペースを指定します。FROM table
: データを含むテーブルを示します。GROUP BY id
: id
列の一意の値に基づいて行をグループ化します。仕組み:
GROUP_CONCAT
は、GROUP BY
で定義された各グループからの NULL 以外の値を集計します。区切り文字は、連結された名前の間にスペースを入れることで読みやすくします。 これにより、同じ id
を持つ行が効率的にマージされ、関連するすべての名前が 1 つの文字列に結合された単一の行が作成されます。
さらに読む:
GROUP_CONCAT
のより包括的な情報については、MySQL の公式ドキュメントを参照してください: https://www.php.cn/link/18fc3b6cc1e55ccea877c161e2e9ba27
以上がGROUP BY を使用して MySQL で文字列を連結するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。