본문 바로가기
카테고리 없음

SQL) GROUP BY

by kk님 2026. 1. 6.

1. 기준 컬럼
2. 연산 컬럼

2개를 사용하면 됨.

SELECT 기준컬럼, 함수(연산컬럼)
GROUP BY 기준컬럼

기준 컬럼으로 어떤 범위를 구분하고(예: 학생 별)
연산 컬럼으로 집계함수 연산을 하면 됨(예: 점수 평균)

이제 헷갈리는 지점은 WHERE과 HAVING임.
WHERE은 사전에 조건이 안맞는걸 버리는 것임.
HAVING은 함수로 결과를 낸 다음, 거기서 조건에 안맞는걸 버리는 것임

예를 들어 1반 학생의 점수 평균 중, 80점 이상인 학생.
그러면
1반 학생이 아닌 학생들은 제외(WHERE)
그 함수가 적용된 결과 (명단?)에서 80점 이상인 학생만(HAVING)

80점 이상이라는게 함수를 써야만 도출이 가능하니까.