집 >데이터 베이스 >MySQL 튜토리얼 >SQL Server에서 그룹을 사용하여 문자열을 연결하는 방법은 무엇입니까?
SQL Server에서 GROUP BY 문을 사용하여 문자열 연결
많은 데이터 분석 시나리오에서는 공통 식별자로 그룹화된 여러 행의 문자열을 연결해야 합니다. 이를 통해 보고 목적으로 데이터를 효율적으로 집계하고 조작할 수 있습니다.
SQL Server에서 이를 달성하려면 강력한 GROUP BY 절과 FOR 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>
이 작업을 수행하려면 다음 SQL 쿼리를 사용할 수 있습니다.
<code class="language-sql">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</code>
쿼리를 분석해 보겠습니다.
STRING_AGG
함수는 각 그룹 내의 문자열을 쉼표로 구분된 목록으로 연결합니다. 이는 이전 접근 방식보다 더 깔끔하고 읽기 쉬운 솔루션을 제공합니다. 이 SQL 쿼리는 ID 열을 기준으로 데이터를 효과적으로 그룹화하고 각 그룹 내 각 행의 이름 및 값 열을 조인하여 원하는 출력을 얻습니다. STRING_AGG
을 사용하면 코드가 단순화되어 이해하고 유지 관리하기가 더 쉬워집니다. 이 방법은 SQL Server 2017 이상에 적극 권장됩니다.
위 내용은 SQL Server에서 그룹을 사용하여 문자열을 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!