[sql] GROUP BY 절을 이용한 월별/분기별 데이터 그룹화하기

기업이나 조직에서는 데이터를 월별이나 분기별로 그룹화하고 분석하는 경우가 많습니다. 이를 위해 SQL에서는 GROUP BY 절을 사용하여 데이터를 그룹화할 수 있습니다.

월별 데이터 그룹화

SELECT 
    YEAR(transaction_date) AS transaction_year,
    MONTH(transaction_date) AS transaction_month,
    SUM(amount) AS total_amount
FROM 
    transactions
GROUP BY 
    YEAR(transaction_date),
    MONTH(transaction_date)

위의 SQL은 transactions 테이블에서 거래일자를 기반으로 월별로 데이터를 그룹화하고 해당 월의 총 금액을 계산합니다. YEAR()MONTH() 함수를 사용하여 거래일자를 연도와 월로 추출하고, SUM() 함수를 사용하여 해당 월의 총 금액을 계산합니다.

분기별 데이터 그룹화

SELECT 
    YEAR(transaction_date) AS transaction_year,
    QUARTER(transaction_date) AS transaction_quarter,
    SUM(amount) AS total_amount
FROM 
    transactions
GROUP BY 
    YEAR(transaction_date),
    QUARTER(transaction_date)

이 SQL은 월별 그룹화와 비슷하지만, QUARTER() 함수를 사용하여 분기를 추출합니다. 위의 쿼리는 거래일자를 기반으로 분기별로 데이터를 그룹화하고 해당 분기의 총 금액을 계산합니다.

이러한 방식으로 GROUP BY 절을 사용하여 데이터를 월별이나 분기별로 그룹화할 수 있으며, 이를 통해 데이터를 보다 효과적으로 분석할 수 있습니다.

참고 자료: