ホームページ >データベース >mysql チュートリアル >SQL でデータをグループ化し、カンマ区切りを使用して値を連結する方法
コンマ区切り文字を使用した SQL のグループ化と連結
このガイドでは、データをグループ化し、カンマ区切りを使用して集計値を連結する SQL クエリの作成方法を説明します。 次のようなテーブルを想像してください:
<code>| ID | Value | |-----|-------| | 1 | a | | 1 | b | | 2 | c |</code>
目標は、同じ ID の値が単一のカンマ区切り文字列に結合された結果セットを生成することです。
<code>| ID | Value | |-----|-------| | 1 | a,b | | 2 | c |</code>
FOR XML PATH を使用した解決策:
FOR XML PATH
構造は、これを達成するための効率的な方法を提供します。
<code class="language-sql">SELECT ID, STUFF((SELECT ', ' + Value FROM YourTable t2 WHERE t1.ID = t2.ID FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 2, '') AS Values FROM YourTable t1 GROUP BY ID;</code>
STUFF
関数は、SELECT
ステートメントによって追加された先頭のカンマとスペースを削除します。 一般に、このアプローチはパフォーマンスと読みやすさの点で好まれます。
さらに読む:
より高度なシナリオと代替手法については、次のリソースを参照してください。
FOR XML PATH
および関連機能の詳細については、Microsoft の公式ドキュメントを参照してください。この改訂された回答では、明確さが向上し、より簡潔な説明が提供され、さらなる学習に役立つリンクが提供されています。 画像は元の位置に残ります。
以上がSQL でデータをグループ化し、カンマ区切りを使用して値を連結する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。