집 >데이터 베이스 >MySQL 튜토리얼 >PIVOT 함수를 사용하여 SQL Server에서 행을 열로 변환하는 방법은 무엇입니까?
SQL Server의 피벗 테이블은 데이터를 행에서 열로 바꾸는 강력한 방법을 제공합니다. 그러나 사용자는 올바른 쿼리를 구성하는 데 어려움을 겪을 수 있습니다.
알려진 열 값에 PIVOT 함수 사용:
사전 정의된 열 값(이 경우 주 번호)의 경우 PIVOT 함수를 직접 사용할 수 있습니다.
<code class="language-sql">select * from ( select store, week, xCount from yt ) src pivot ( sum(xcount) for week in ([1], [2], [3]) ) piv;</code>
동적으로 피벗 열 값 생성:
알 수 없는 열 값(예: 동적 주 번호)을 처리하려면 동적 SQL과 창 함수를 조합하여 사용할 수 있습니다.
<code class="language-sql">DECLARE @cols AS NVARCHAR(MAX), @query AS NVARCHAR(MAX) select @cols = STUFF((SELECT ',' + QUOTENAME(Week) from yt group by Week order by Week FOR XML PATH(''), TYPE ).value('.', 'NVARCHAR(MAX)') ,1,1,'') set @query = 'SELECT store,' + @cols + ' from ( select store, week, xCount from yt ) x pivot ( sum(xCount) for week in (' + @cols + ') ) p ' execute(@query);</code>
결과:
두 방법 모두 동일한 결과를 생성합니다.
102 | 96 | 123 |
105 | 78 |
109 | 97 |
위 내용은 PIVOT 함수를 사용하여 SQL Server에서 행을 열로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!