GROUP BY 절은 SQL에서 데이터를 그룹화하고, 각 그룹에 대한 집계 함수를 적용하여 요약된 결과를 얻을 때 사용하는 강력한 도구입니다. 데이터 분석 및 보고서 작성에 필수적으로 사용됩니다.

GROUP BY의 기본 개념

GROUP BY는 하나 이상의 컬럼 값을 기준으로 동일한 값을 가진 행들을 하나의 그룹으로 묶습니다. 이렇게 그룹화된 각 그룹에 대해 COUNT(), SUM(), AVG(), MIN(), MAX()와 같은 집계 함수를 사용하여 요약된 정보를 계산할 수 있습니다.

GROUP BY의 기본 문법

SELECT column1, column2, ..., aggregate_function(column_name)
FROM table_name
WHERE condition
GROUP BY column1, column2, ...
ORDER BY column1, ...;

GROUP BY의 작동 원리

  1. 그룹화 컬럼 선택: GROUP BY 절에 지정된 컬럼들의 고유한 조합을 찾습니다.
  2. 행 그룹화: 동일한 컬럼 조합을 가진 모든 행들을 하나의 그룹으로 묶습니다.
  3. 집계 함수 적용: 각 그룹에 대해 SELECT 절에 명시된 집계 함수를 적용하여 요약 값을 계산합니다.

GROUP BY 사용 예시

Orders 테이블이 있다고 가정해봅시다:

Orders 테이블:

OrderID CustomerID OrderDate Amount Status
1 101 2023-01-10 100.00 Completed
2 102 2023-01-15 250.00 Pending
3 101 2023-01-20 150.00 Completed
4 103 2023-02-01 300.00 Shipped
5 102 2023-02-05 120.00 Completed
6 101 2023-02-10 50.00 Pending

예시 1: 고객별 총 주문 금액 계산