brunch

[DA.02] GROUP BY

그룹별로 요약하기

by 해야

오늘은 GROUP BY 에 대해서 이야기 해보도록 하겠다.


01. GROUP BY란?

데이터를 "그룹"으로 묶어서 요약하고 싶을 때 사용하는 SQL의 핵심 기능 중 하나예요.

더 쉽게 말하자면 비슷한 애들끼리 모아서 정리하는 것!


언제 쓰는가? (사용 시기)

“특정 기준별로 집계(요약)하고 싶을 때”


예시 상황들:

국가별 도시 수를 알고 싶을 때

광고 캠페인별 참여자 수를 보고 싶을 때

제품 카테고리별 평균 가격을 보고 싶을 때

주의: GROUP BY를 쓰면 SELECT 안에는 "그룹 기준"과 집계함수만 써야 해요.


02. 예시로 더 잘 알아보기

스크린샷 2025-04-24 183124.png


만약 이 표에서 CountryCode별로 Population의 평균이 궁금하다면?

다음과 같이 GROUP BY를 사용하면된다.


SELECT CountryCode

, AVG (Population) AS Avg_Pop

FROM CITY

GROUP BY CountryCode


그러면 결과는 다음과 같이 나온다.

스크린샷 2025-04-24 183339.png

즉, CountryCode별로 인구의 평균을 내고, CountryCode 중심으로 인구 평균이 어떤지 알려주는 것!



cf. 자주 쓰이는 집계 함수들

스크린샷 2025-04-24 182716.png

+ WHERE은 그룹핑 전에 필터링, HAVING은 그룹핑 후 필터링할 때 쓴다.

keyword
작가의 이전글[DA.01] 왜 기획자가 데이터를 배우기 시작했을까?