23년 7월 26일
GROUP BY : 테이블에 저장되어 있는 칼럼의 값이 동일한 레코드를 그룹으로 묶어서 출력.
다음 테이블을 예로 들어서 실습해보자.
다음은 HAVING에 관한 내용이다. HAVING은 WHERE처럼 검색조건을 지정한다는 점에서 비슷하지만 WHERE는 그룹화를 하기 전에 수행하고 HAVING은 그룹화를 하고나서 진행한다.
다음의 예시를 보자
SELECT Subject, AVG(Score) AS AverageScore, ID, Name, Score
FROM Students
WHERE Score >= 90
GROUP BY Subject, ID, Name, Score
HAVING AVG(Score) >= 85;
먼저 score >= 90인 행들을 추린다.
이 후에 Group by를 한다.
group by된 후 평균 Score가 85 이상인 값만 남긴다.
group by는 group by뒤에 나온 것으로 집계하기 위해 사용하는 함수이다.