집 >데이터 베이스 >MySQL 튜토리얼 >PIVOT 함수를 사용하여 BigQuery에서 데이터를 동적으로 피벗하려면 어떻게 해야 하나요?
BigQuery의 PIVOT 함수: 동적 분기 값 처리
BigQuery에 최근 도입된 PIVOT 함수는 데이터를 표 형식으로 변환하는 편리한 방법을 제공합니다. 지정된 열의 행을 피벗합니다. 그러나 실제 시나리오에서는 피벗 열 값(예: 분기)을 미리 알 수 없는 상황에 자주 직면합니다.
이 문제를 해결하기 위해 다음 쿼리를 고려해 보겠습니다.
SELECT * FROM (SELECT * FROM Produce) PIVOT(SUM(sales) FOR quarter in (select distinct quarter from Produce))
이 쿼리는 분기 열에서 Produce 테이블을 동적으로 피벗하려고 시도하지만 원하는 결과를 생성하지 못합니다. 누락된 요소는 PIVOT 절을 동적으로 작성해야 한다는 것입니다.
해결책은 SQL의 즉시 실행 기능을 사용하여 동적으로 생성된 쿼리를 실행하는 데 있습니다. 향상된 쿼리는 다음과 같습니다.
execute immediate ( select '''select * from (select * from `project.dataset.Produce`) pivot(sum(sales) for quarter in ("''' || string_agg(quarter, '", "') || '''")) ''' from (select distinct quarter from `project.dataset.Produce` order by quarter) );
이 쿼리는 다음 단계를 수행합니다.
SQL의 유연성을 활용하여 정적 피벗 열의 한계를 극복하고 동적 값을 처리할 수 있습니다. 원활하게.
위 내용은 PIVOT 함수를 사용하여 BigQuery에서 데이터를 동적으로 피벗하려면 어떻게 해야 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!