티스토리 뷰

SQL

GROUP BY를 사용할 때 와 아닐 때

햄밥김치참치버거 2026. 5. 25. 22:54

GROUP BY를 써야 할 때 와 쓰지 말아야 할 때를 구분하는 가장 명확한 기준은
"내가 보고 싶은 결과가 개별 데이터(Row)인가, 아니면 통계값(집계)인가?" 입니다.

 

1. GROUP BY를 안 써야 할 때(개별 데이터 조회)

"~의 목록을 출력해라"."~인 데이터를 전부 보여달라"는 문제일 때입니다. 데이터 하나하나의 원본 값이 그대로 살아있어야 하므로

묶으면 아니됩니다

  • 구분 기준: 출력해야 하는 컬럼들이 다 제각각의 데이터이고, SUM, AVG, COUNT 같은 단어가 문제에 없을때.
  • IF 1번 2번 3번이 각각 한 줄씩 다 나와야 하므로 GROUP BY를 쓰면 안되옵니다. 사용을 한다면 데이터가 합쳐져서 증발합니다.
  • 원본 데이터가 그대로 필요함
SELECT id, name, hire_date
FROM employee;

2. GROUP BY를 무조건 써야 할 때(통계 및 집계)

"~별로 ~의 합계/평균/개수를 구해라" 처럼 데이터들을 특정 기준으로 쪼개서 통계를 내야 할 때 입니다.

  • 구분 기준: SELECET 절에 SUM(), AVG(), COUNT(), MAX(), MIN() 같은 집계 함수가 들어갈 때
  • 문제예시 : SUM()와 같이 통계를 내야하는 문제 GROUP BY를 사용합니다.

 

구분 ❌ GROUP BY 안 씀 (목록 조회) ⭕ GROUP BY 필수 (통계 조회)
문제 키워드 ~의 목록을 출력, ~을 조회 ~별로 (예: 부서별로, 월별로, 성별로)
SELECT 절 특징 SELECT ID, 이름, 날짜 (순수 컬럼들) SELECT 부서, SUM(급여), COUNT(*) (집계 함수)
데이터 형태 원본 데이터가 한 줄씩 그대로 다 나옴 여러 줄의 데이터가 기준에 따라 한 줄로 압축됨

'SQL' 카테고리의 다른 글

[MySQL] CHAR VARCHAR  (0) 2026.04.12
[SQL] JOIN 정리 - 종류 및 설명  (0) 2026.04.06
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함