多くのデータ分析シナリオでは、パブリックロゴシンボル内のグループの複数の列の複数の列の文字列を接続する必要があります。これにより、レポートのデータを効果的に要約および操作できます。
SQL Serverでこの目的を達成するには、XMLおよびPATH関数の節と巧妙な使用によって強力なグループを使用できます。この方法は、ラベル、サイクル、またはユーザー定義関数を使用する必要のない効率的で直接的なソリューションを提供します。
次の例データを検討してください:
あなたの目標は、このデータを次の出力に変換することです。
<code>id Name Value 1 A 4 1 B 8 2 C 9</code>
クエリを分解しましょう:
<code>id Column 1 A:4, B:8 2 C:9</code>
関数は、各グループの文字列をコンマ分離のリストに接続します。 これは、古い方法よりも簡潔で簡単な - 読み取りソリューションを提供します。
CREATE TABLE #YourTable ([ID] INT, [Name] CHAR(1), [Value] INT) INSERT INTO #YourTable ([ID],[Name],[Value]) VALUES (1,'A',4) INSERT INTO #YourTable ([ID],[Name],[Value]) VALUES (1,'B',8) INSERT INTO #YourTable ([ID],[Name],[Value]) VALUES (2,'C',9) SELECT [ID], STRING_AGG([Name] + ':' + CAST([Value] AS VARCHAR(MAX)), ', ') AS NameValues FROM #YourTable GROUP BY ID DROP TABLE #YourTable
このSQLクエリは、ID列に従ってデータを効果的にパックし、各グループの各行の名前と値列を接続して、必要な出力を取得します。 コードを簡素化して、理解して維持しやすくします。 SQL Server 2017以上のバージョンの場合、この方法を強くお勧めします。
以上がSQL ServerでGROUP BYを使用して文字列を連結するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。