mysql行をgroup_concat()
を使用して単一のフィールドに組み合わせますMySQLデータベースを操作する場合、より明確なプレゼンテーションのために、複数の行からデータを単一のフィールドに統合するか、データの冗長性を減らす必要があることがよくあります。 これは、異なるテーブルに広がる関連データを扱う場合に特に役立ちます。 たとえば、ユーザー情報と関連する趣味を組み合わせることを想像してください。
関数は、簡単なソリューションを提供します。複数行の値を単一の文字列に連結し、指定された区切り文字で区切ります。
GROUP_CONCAT()
の使用方法
まず、共通フィールドを使用して組み合わせたい行をグループ化します。 これにより、が関連データを動作させることが保証されます。
GROUP_CONCAT()
<code class="language-sql">SELECT person_id, GROUP_CONCAT(hobbies SEPARATOR ', ') FROM peoples_hobbies GROUP BY person_id;</code>
キーワードを使用して、連結された文字列に重複した値を含めることを避けます。
DISTINCT
<code class="language-sql">SELECT person_id, GROUP_CONCAT(DISTINCT hobbies SEPARATOR ', ') FROM peoples_hobbies GROUP BY person_id;</code>
ORDER BY
<code class="language-sql">SELECT person_id, GROUP_CONCAT(hobbies ORDER BY hobbies ASC SEPARATOR ', ') FROM peoples_hobbies GROUP BY person_id;</code>
長さの制限:
GROUP_CONCAT()
group_concat_max_len
動的長さの計算:
<code class="language-sql"> SET group_concat_max_len = 2048; -- Adjust the value as needed</code>
これらの手順と考慮事項に従うことにより、を効果的に使用して、複数のMySQL行を単一のより管理しやすいフィールドに効率的に組み合わせることができます。
以上が複数のMySQL行をgroup_concat()を使用して単一のフィールドに結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。