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_id | name | region | sales | orders_count | |
---|---|---|---|---|---|
1 | Client 1 | client1@example.com | Texas | 8041 | 19 |
2 | Client 2 | client2@example.com | New York | 8619 | 3 |
... | ... | ... | ... | ... | ... |
지역별 고객 수 세기
GROUP BY
와 COUNT(*)
를 함께 사용하면 각 지역별 고객 수를 계산할 수 있습니다.
지역별 고객 수
SELECT region, COUNT(*) AS client_count
FROM clients
GROUP BY region;
지역별 총매출
GROUP BY
와 SUM(sales)
를 함께 사용하면 각 지역의 총매출을 계산할 수 있습니다.
지역별 총매출
SELECT region, SUM(sales) AS total_sales
FROM clients
GROUP BY region;
지역별 평균 매출
GROUP BY
와 AVG(sales)
를 함께 사용하면 각 지역의 평균 매출을 구할 수 있습니다.
지역별 평균 매출
SELECT region, AVG(sales) AS avg_sales
FROM clients
GROUP BY region;
핵심 정리
GROUP BY
는 지정한 열의 값이 같은 행을 그룹으로 묶습니다.- 집계 함수(
COUNT()
,SUM()
,AVG()
등)와 함께 사용해 그룹별 요약 정보를 제공합니다. - SQL 구문 순서에서
GROUP BY
는SELECT
→FROM
→GROUP BY
→ORDER BY
순으로 작성합니다.
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!