본문으로 건너뛰기
실습하기

GROUP BY

GROUP BY 절은 지정한 열의 값이 같은 행들을 하나의 그룹으로 묶어 집계하는 데 사용됩니다.

주로 COUNT(), SUM(), AVG() 같은 집계 함수와 함께 사용해 범주별 데이터를 요약할 때 유용합니다.


왜 GROUP BY를 사용할까요?

다음과 같은 질문에 답할 수 있습니다.

  • 지역별로 고객은 몇 명일까?
  • 고객별 총매출은 얼마일까?
  • 지역별 평균 주문 금액은 얼마일까?

기본 문법

GROUP BY 절은 SELECT 문에서 FROM 절 뒤에 위치합니다.

GROUP BY 구문
SELECT column_name, AGG_FUNCTION(column_name)
FROM table_name
GROUP BY column_name;

열을 기준으로 그룹을 만든 뒤, 각 그룹에 집계 함수를 적용해 요약 결과를 반환합니다.


단계별 실습

실습에서는 clients 테이블을 사용합니다. 이 테이블의 일부 데이터는 다음과 같습니다.

client_idnameemailregionsalesorders_count
1Client 1client1@example.comTexas804119
2Client 2client2@example.comNew York86193
..................

지역별 고객 수 세기

GROUP BYCOUNT(*)를 함께 사용하면 각 지역별 고객 수를 계산할 수 있습니다.

지역별 고객 수
SELECT region, COUNT(*) AS client_count
FROM clients
GROUP BY region;

지역별 총매출

GROUP BYSUM(sales)를 함께 사용하면 각 지역의 총매출을 계산할 수 있습니다.

지역별 총매출
SELECT region, SUM(sales) AS total_sales
FROM clients
GROUP BY region;

지역별 평균 매출

GROUP BYAVG(sales)를 함께 사용하면 각 지역의 평균 매출을 구할 수 있습니다.

지역별 평균 매출
SELECT region, AVG(sales) AS avg_sales
FROM clients
GROUP BY region;

핵심 정리

  • GROUP BY는 지정한 열의 값이 같은 행을 그룹으로 묶습니다.
  • 집계 함수(COUNT(), SUM(), AVG() 등)와 함께 사용해 그룹별 요약 정보를 제공합니다.
  • SQL 구문 순서에서 GROUP BYSELECTFROMGROUP BYORDER BY 순으로 작성합니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!