PIVOT을 사용하여 SQL Server 데이터를 변환하는 방법
SQL Server의 PIVOT 연산자를 사용하면 행을 열로 변환하여 데이터를 열로 변환할 수 있습니다. 수직 방향 형태에서 수평 방향 형태로. 이는 여러 속성을 기반으로 데이터를 요약하려고 할 때 유용할 수 있습니다.
예제 데이터 및 원하는 출력
다음 시작 데이터세트를 고려하세요.
SELECT Name1, Name2, Value FROM mytable Name1 | Name2 | Value ------- ------- ------ A | P1 | 1 A | P2 | 1 A | P3 | 2 B | P1 | 3 B | P2 | 1 B | P4 | 1
원하는 출력은 PIVOT 연산자가 Name1 열 값을 열 머리글로 변환하고 Value 열의 값이 Name2 열로 요약되도록 데이터를 피벗하는 것입니다.
SQL Server 2005에서 PIVOT을 사용하여 데이터 전치
SQL Server 2005의 경우 PIVOT 연산자를 사용할 수 있습니다. 다음과 같은 방식으로:
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 쿼리를 동적으로 생성하여 열 머리글을 조합하고 이에 따라 데이터를 요약합니다. 궁극적으로 결과는 원하는 형식의 데이터가 바뀐 것입니다:
P1 P2 P3 P4 ------- ------- ------- ------- 1 1 2 NULL 3 1 NULL 1
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3