MySQL の GROUP BY 句: 文字列の結合
MySQL の強力な GROUP BY
句は数値集計に限定されません。 また、グループ化されたデータに関連付けられた文字列を効率的に連結することもできます。これは、共通の識別子を共有する複数の行を含むテーブルを扱う場合に特に役立ちます。
次のテーブル例を考えてみましょう:
foo_id | foo_name |
---|---|
1 | A |
1 | B |
2 | C |
私たちの目標は、一意の foo_name
ごとに foo_id
の値を結合し、次のようにすることです。
foo_id | foo_name |
---|---|
1 | A, B |
2 | C |
この変換は、次の SQL クエリを使用して実現されます:
<code class="language-sql">SELECT foo_id, GROUP_CONCAT(foo_name SEPARATOR ', ') FROM table GROUP BY foo_id;</code>
クエリの説明:
GROUP BY foo_id
: これにより、foo_id
列に基づいて行がグループ化され、一意の ID ごとにすべての foo_name
値がまとめられます。GROUP_CONCAT(foo_name SEPARATOR ', ')
: この関数は、カンマとスペースを区切り文字として使用して、各グループ内の foo_name
値を連結します。GROUP_CONCAT()
関数は SEPARATOR
引数を提供し、連結された文字列間の区切り文字を柔軟にカスタマイズできます。包括的な詳細については、MySQL の公式ドキュメントを参照してください: https://www.php.cn/link/18fc3b6cc1e55ccea877c161e2e9ba27
以上がMySQL の GROUP BY 句はどのようにして文字列を連結できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。