그룹별로 요약하기
오늘은 GROUP BY 에 대해서 이야기 해보도록 하겠다.
데이터를 "그룹"으로 묶어서 요약하고 싶을 때 사용하는 SQL의 핵심 기능 중 하나예요.
더 쉽게 말하자면 비슷한 애들끼리 모아서 정리하는 것!
언제 쓰는가? (사용 시기)
“특정 기준별로 집계(요약)하고 싶을 때”
예시 상황들:
국가별 도시 수를 알고 싶을 때
광고 캠페인별 참여자 수를 보고 싶을 때
제품 카테고리별 평균 가격을 보고 싶을 때
주의: GROUP BY를 쓰면 SELECT 안에는 "그룹 기준"과 집계함수만 써야 해요.
만약 이 표에서 CountryCode별로 Population의 평균이 궁금하다면?
다음과 같이 GROUP BY를 사용하면된다.
SELECT CountryCode
, AVG (Population) AS Avg_Pop
FROM CITY
GROUP BY CountryCode
그러면 결과는 다음과 같이 나온다.
즉, CountryCode별로 인구의 평균을 내고, CountryCode 중심으로 인구 평균이 어떤지 알려주는 것!
+ WHERE은 그룹핑 전에 필터링, HAVING은 그룹핑 후 필터링할 때 쓴다.