SQL 기본 및 활용
🗄️ SQLSQL 기본★★★★★거의 매회

GROUP BY 와 집계 함수

GROUP BY 에 없는 열은 SELECT 에 그냥 쓸 수 없다. 집계 함수는 NULL 을 빼고 계산한다.

GROUP BYHAVINGSUMAVGCOUNT집계 함수

왜 그런지까지

GROUP BY 로 묶으면 그 그룹을 대표하는 값만 SELECT 에 올 수 있다. 즉 GROUP BY 에 적은 열이거나 집계 함수여야 한다.

집계 함수(SUM·AVG·MAX·MIN·COUNT)는 NULL 을 계산에서 뺀다. 그래서 AVG 는 'NULL 을 뺀 개수'로 나눈다. 전체 행 수로 나누고 싶다면 NVL 로 0 을 채운 뒤 평균을 내야 한다.

돌려 보기

AVG 의 분모는 NULL 을 뺀 개수다

헷갈리는 것

AVG 와 NULL

AVG 는 NULL 인 행을 분모에서 뺀다. 전체 행 수로 나누려면 NVL(열,0) 처럼 값을 채운 뒤 평균을 내야 한다.

확인 문제

넣어 두면 오늘 · 1일 · 3일 · 7일 · 14일 · 30일 간격으로 다시 물어봅니다