SQL の GROUP BY ステートメントを使用して列の値を結合します
次のデータを含むテーブルがあるとします:
<code>ID | 用户 | 活动 | 页面URL 1 | 我 | act1 | ab 2 | 我 | act1 | cd 3 | 你 | act2 | xy 4 | 你 | act2 | st</code>
ユーザー と アクティビティ ごとにデータをグループ化し、各グループの ページ URL 列の値を 1 つのカンマに結合したいと考えています。分離された文字列。目的の出力は次のとおりです:
<code>用户 | 活动 | 页面URL 我 | act1 | ab, cd 你 | act2 | xy, st</code>
GROUP BY クエリを使用してこの結合を実現するには、GROUP BY 句でサブクエリとともに STUFF() 関数を使用できます。詳細な内訳は次のとおりです:
<code class="language-sql">SELECT [用户], 活动, STUFF( (SELECT DISTINCT ',' + 页面URL FROM 表名称 WHERE [用户] = a.[用户] AND 活动 = a.活动 FOR XML PATH ('')) , 1, 1, '') AS URL列表 FROM 表名称 AS a GROUP BY [用户], 活动</code>
Activity のそれぞれの Page URL の値がマージされ、目的の出力が得られます。カンマで区切ります。
以上がSQLでGROUP BYを使用して列の値を連結するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。