원본 행 → 그룹 → 결과 행

GROUP BY는 같은 값을 묶어 그룹당 1행으로 줄인다

category가 같은 행끼리 먼저 묶고, 그 안에서 COUNT, AVG, SUM을 계산합니다.

결과 행 수 = 그룹 수
1. 원본 행
아직은 상품별로 따로 존재
id category price stock
1 전자 150000 10
2 전자 50000 30
3 식품 5000 100
4 식품 3000 200
2. 묶는 기준
같은 category 값은 같은 그룹
GROUP BY category 집계 함수는 전체 테이블이 아니라 각 그룹 내부 값만 계산합니다.
전자 그룹
행 1, 2
COUNT(*) 2
AVG(price) 100000
SUM(stock) 40
식품 그룹
행 3, 4
COUNT(*) 2
AVG(price) 4000
SUM(stock) 300
3. 결과 행
그룹마다 한 줄만 남음
category 상품수 평균가격 총재고
전자 2 100000 40
식품 2 4000 300