집계 함수마다 세는 입력과 빈 결과가 다르다
COUNT(*)와 COUNT(column)의 차이처럼 NULL 처리와 결과 단위를 질문에 맞춰 선택합니다.
| 함수 | 입력으로 세는 것 | NULL·빈 입력 |
|---|---|---|
| COUNT(*) | 그룹의 모든 행 | 0 반환 가능 |
| COUNT(column) | 비NULL 값 | NULL 제외 |
| SUM | 숫자 합 | 모두 NULL이면 NULL |
| AVG | 비NULL 합 ÷ 비NULL 수 | NULL 제외 |
| MIN / MAX | 값·날짜의 범위 | 비NULL만 비교 |
핵심: GROUP BY 키가 결과 한 행을 식별하며 모든 비집계 표현은 그 키로 한 값이 결정되어야 합니다.