[sql] GROUP BY 절을 이용한 피벗 테이블 생성하기

많은 데이터베이스 시스템에서 사용되는 SQL에서 GROUP BY 절은 강력한 기능을 제공합니다. GROUP BY를 이용하면 특정 열의 값을 기준으로 데이터를 그룹화하고 그룹 단위로 통계 및 집계 함수를 적용할 수 있습니다. 이번 게시물에서는 GROUP BY를 사용하여 피벗 테이블을 생성하는 방법에 대해 알아보겠습니다.

피벗 테이블이란?

피벗 테이블은 데이터를 요약하고 집계하는 데 사용되는 데이터베이스의 특별한 형태입니다. 보통 세로 열과 가로 열에 대한 값을 가지고 있는데, 여기서 GROUP BY를 사용하여 피벗 테이블을 생성할 수 있습니다.

GROUP BY를 사용한 피벗 테이블 생성

아래는 GROUP BY를 사용하여 피벗 테이블을 생성하는 SQL 쿼리의 예시입니다.

SELECT
    category,
    SUM(CASE WHEN country = 'USA' THEN sales ELSE 0 END) AS 'USA',
    SUM(CASE WHEN country = 'Canada' THEN sales ELSE 0 END) AS 'Canada',
    SUM(CASE WHEN country = 'Mexico' THEN sales ELSE 0 END) AS 'Mexico'
FROM
    sales_table
GROUP BY
    category;

위의 예시에서는 sales_table에서 category를 기준으로 그룹화하고, country 값을 열로 변환하여 각 나라별 매출을 피벗 테이블로 만들었습니다.

이렇게 하면 각 카테고리에 대한 나라별 매출이 가로 열로 표시된 피벗 테이블을 얻을 수 있습니다.

이상으로, GROUP BY를 사용하여 피벗 테이블을 생성하는 방법에 대해 알아보았습니다.

참고 문헌: