GROUP BY 에 없는 열은 SELECT 에 그냥 쓸 수 없다. 집계 함수는 NULL 을 빼고 계산한다.
왜 그런지까지
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일 간격으로 다시 물어봅니다