[sql] GROUP BY 절을 사용한 특정 기간별 데이터 그룹화하기

SQL에서 GROUP BY 절을 사용하여 특정 기간별로 데이터를 그룹화하는 방법에 대해 알아보겠습니다.

1. 날짜 기준으로 데이터 그룹화하기

예를 들어, 주문 테이블에서 날짜와 주문 금액이 있는 경우, 날짜를 기준으로 일별, 월별, 혹은 연도별로 주문 금액을 합산하고 싶다고 가정해 봅시다.

다음은 주문 테이블을 가정한 예제입니다.

CREATE TABLE Orders (
    order_id INT,
    order_date DATE,
    order_amount DECIMAL(10, 2)
);

2. 일별 주문 금액 합산하기

SELECT
    order_date,
    SUM(order_amount) AS total_amount
FROM
    Orders
GROUP BY
    order_date;

3. 월별 주문 금액 합산하기

SELECT
    DATE_FORMAT(order_date, '%Y-%m') AS month,
    SUM(order_amount) AS total_amount
FROM
    Orders
GROUP BY
    DATE_FORMAT(order_date, '%Y-%m');

4. 연도별 주문 금액 합산하기

SELECT
    YEAR(order_date) AS year,
    SUM(order_amount) AS total_amount
FROM
    Orders
GROUP BY
    YEAR(order_date);

위의 예제에서는 GROUP BY 절을 사용하여 날짜를 기준으로 데이터를 일별, 월별, 혹은 연도별로 그룹화하여 주문 금액을 합산하는 방법을 살펴보았습니다.

이를 통해 SQL에서 GROUP BY 절을 활용하여 특정 기간별 데이터를 효과적으로 그룹화하고 계산할 수 있습니다.

참고 자료