PIVOT을 사용하여 SQL Server에서 데이터 변환
SQL Server PIVOT 작업을 사용하면 데이터를 와이드 형식에서 Tall 형식으로 변환할 수 있습니다. , 데이터를 더 쉽게 요약하고 분석할 수 있습니다. 이는 행과 열로 구성된 데이터를 각 열이 특정 속성을 나타내고 각 행이 해당 속성의 특정 값을 나타내는 형식으로 변환하려는 시나리오에서 특히 유용합니다.
예제 시나리오는 변환입니다. 넓은 형식의 데이터가 있는 다음 데이터 세트:
Name1 | Name2 | Value -------|-------|------- A | P1 | 1 A | P2 | 1 A | P3 | 2 B | P1 | 3 B | P2 | 1 B | P4 | 1
다음 형식으로:
A B P1 1 4 P2 1 1 P3 2 NULL P4 NULL 1
SQL에서 이러한 변환을 수행하려면 Server 2005에서는 다음 코드를 사용할 수 있습니다.
DECLARE @cols VARCHAR(1000) DECLARE @sqlquery VARCHAR(2000) SELECT @cols = STUFF(( SELECT distinct ',' + QuoteName([Name1]) FROM myTable FOR XML PATH('') ), 1, 1, '') SET @sqlquery = 'SELECT * FROM (SELECT Name2, Name1, Value FROM myTable ) base PIVOT (Sum(Value) FOR [Name1] IN (' + @cols + ')) AS finalpivot' EXECUTE ( @sqlquery )
이 코드는 Name1 열의 고유 값을 기반으로 PIVOT 쿼리를 동적으로 조합합니다. 먼저 고유한 Name1 값을 쉼표로 구분된 목록으로 연결한 다음 PIVOT 문에서 새 열을 만드는 데 사용됩니다. SUM() 집계 함수는 각 행(Name2) 내의 각 속성(Name1)에 대한 총 값을 계산합니다.
결과는 원하는 Tall 형식으로 변환된 데이터 세트입니다. 여기서 각 열은 Name1 속성을 나타내고 각 열은 행에는 해당 속성에 해당하는 합계 값이 포함됩니다. 이 형식은 데이터를 더욱 간결하고 체계적으로 보여줌으로써 데이터 분석 및 요약을 용이하게 합니다.
위 내용은 SQL Server의 PIVOT 기능은 어떻게 광범위한 데이터를 보다 분석 가능한 형식으로 변환할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!