MySQL에서 피벗 테이블 시뮬레이션: UNION ALL 및 집계 함수 사용
피벗 테이블은 데이터 분석 및 보고서 생성에서 핵심적인 역할을 하며, 열 형식 데이터를 행 기반 데이터로 변환하여 더욱 간결하고 통찰력 있는 시각화를 구현합니다. MySQL은 UNPIVOT 및 PIVOT 함수를 직접 제공하지 않지만 UNION ALL
및 집계 함수를 교묘하게 결합하여 유사한 기능을 구현할 수 있습니다.
데이터 피벗 해제
피벗 테이블의 첫 번째 단계는 데이터를 확장하거나 보다 유연한 형식으로 변환하는 것입니다. 여기에는 데이터의 각 열에 대해 여러 행을 만드는 작업이 포함됩니다. 여기서 각 행은 열과 해당 값을 나타냅니다. 이를 달성하기 위해 UNION ALL
연산자를 사용할 수 있습니다:
1 2 3 4 5 6 7 8 9 10 11 |
|
이 쿼리는 다음 결과를 생성합니다.
id | month | value | descrip |
---|---|---|---|
101 | Jan | A | col1 |
102 | Feb | C | col1 |
101 | Jan | B | col2 |
102 | Feb | A | col2 |
101 | Jan | NULL | col3 |
102 | Feb | G | col3 |
101 | Jan | B | col4 |
102 | Feb | E | col4 |
데이터 피봇팅 확대
데이터가 확장되면 집계 함수와 CASE
문을 사용하여 데이터를 피벗하여 원하는 보고서 형식을 만들 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
위 쿼리는 다음과 같은 결과를 생성합니다.
descrip | jan | feb |
---|---|---|
col1 | A | C |
col2 | B | A |
col3 | 0 | G |
col4 | B | E |
이 결과는 필수 보고서 형식과 일치합니다. 이러한 기술을 통해 우리는 MySQL에서 피벗 테이블 기능을 효과적으로 구현하고 열 기반 데이터를 행 기반 보고서로 쉽게 변환하여 보다 효율적인 분석 및 보고가 가능합니다.
위 내용은 UNION ALL 및 집계를 사용하여 MySQL에서 피벗 테이블을 시뮬레이션하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!