집 >데이터 베이스 >MySQL 튜토리얼 >Oracle SQL의 PIVOT 연산자를 사용하여 행 데이터를 열로 피벗하는 방법은 무엇입니까?
이 쿼리의 목표는 행으로 구성된 데이터를 열로 변환하는 것입니다. 여기서 각 열은 입력 행의 특정 값을 나타냅니다.
다음 형식을 고려하세요.
月份 | 数值 |
---|---|
1 | 100 |
2 | 200 |
3 | 300 |
4 | 400 |
5 | 500 |
6 | 600 |
우리의 목표는 출력 테이블이 다음과 같도록 데이터를 피벗하는 것입니다.
一月 | 二月 | 三月 | 四月 | 五月 | 六月 |
---|---|---|---|---|---|
100 | 200 | 300 | 400 | 500 | 600 |
Oracle 11g부터 PIVOT 연산자는 이를 수행하는 간단한 방법을 제공합니다.
<code class="language-sql">CREATE TABLE tq84_pivot ( month NUMBER, value NUMBER ); INSERT INTO tq84_pivot VALUES(1, 100); INSERT INTO tq84_pivot VALUES(2, 200); INSERT INTO tq84_pivot VALUES(3, 300); INSERT INTO tq84_pivot VALUES(4, 400); INSERT INTO tq84_pivot VALUES(5, 500); INSERT INTO tq84_pivot VALUES(6, 600); -- 插入额外的行以进行演示 INSERT INTO tq84_pivot VALUES(1, 400); INSERT INTO tq84_pivot VALUES(2, 350); INSERT INTO tq84_pivot VALUES(4, 150); SELECT * FROM tq84_pivot PIVOT ( SUM (value) AS sum_value FOR (month) IN (1 AS month_jan, 2 AS month_feb, 3 AS month_mar, 4 AS month_apr, 5 AS month_mai, 6 AS month_jun, 7 AS month_jul, 8 AS month_aug, 9 AS month_sep, 10 AS month_oct, 11 AS month_nov, 12 AS month_dec) );</code>
이 쿼리는 'FOR' 절과 함께 PIVOT 연산자를 사용하여 피벗 열 및 관련 값을 지정합니다. 데이터를 '월' 열로 그룹화하고 SUM()을 사용하여 '값' 열을 집계하면 각 달에 해당 값이 있는 원하는 출력을 얻을 수 있습니다.
위 내용은 Oracle SQL의 PIVOT 연산자를 사용하여 행 데이터를 열로 피벗하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!