ホームページ >データベース >mysql チュートリアル >GROUP_CONCAT を使用して複数の MySQL 行を 1 つのフィールドに結合するにはどうすればよいですか?
GROUP_CONCAT を使用して複数の MySQL 行を 1 つのフィールドに統合する
複数の行のデータを MySQL 結果の 1 つのフィールドに結合する必要がありますか? テーブルを結合すると、必要以上の行が発生する可能性があります。 MySQL の GROUP_CONCAT
関数は、洗練されたソリューションを提供します。
この関数は、複数の行の値をグループ内の単一の文字列に連結します。仕組みは次のとおりです:
<code class="language-sql">SELECT person_id, GROUP_CONCAT(hobbies SEPARATOR ', ') AS hobbies_list FROM peoples_hobbies GROUP BY person_id;</code>
このクエリは、各人のすべての趣味を hobbies_list
列内の単一のカンマ区切り文字列に効率的にコンパイルします。
さらに細かく制御するには、次のオプションを検討してください:
DISTINCT
: 連結された文字列内の重複エントリを避けてください。ORDER BY
: 特定の順序の連結前の値を配置します。SET group_concat_max_len = <value>
: 結果の文字列の最大長を調整します (デフォルトは 1024 バイト)。 連結された文字列がこの制限を超える場合は、これを調整する必要があります。これらの機能を使用すると、MySQL データを効果的に管理し、ニーズに合わせてよりコンパクトで整理された形式で表示できます。
以上がGROUP_CONCAT を使用して複数の MySQL 行を 1 つのフィールドに結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。