SQL/MySQL

MySQL 평균 구하기(AVG, SUM) 유의점 정리

진리뷰 2024. 3. 8. 09:00
반응형

 

 

MySQL-평균-구하기(AVG, SUM)-유의점-정리-썸네일
평균 구하기 유의점 정리

 

 

 

AVG()

평균 계산 시 집계된 데이터 개수가 분모이며, NULL값 제외함

이 경우 의도적으로 데이터를 누락한 상태에서 평균 계산하는 것이 아니라면, 잘못된 계산을 할 수도 있다.

 

예를 들어, 한 달치 데이터의 평균을 구한다고 생각해 보자.

* 한 달을 28일 기준으로, 30일 기준으로 잡는 곳도 있어서 절대적으로 한 달을 며칠이다라고 말할 수는 없다.

 

만약 01/01~01/31까지 쌓인 1월 데이터 기반으로 평균을 낼 때, 주말마다 데이터가 누락되어 있고 오직 평일만 데이터가 쌓여있다면? 실질적인 데이터 개수는 '한 달'이 아니다. 이런 상황에서 AVG()를 사용하면 분모가 30이 아니므로, 정확한 평균 계산이 안 나온다.

 


 

SUM()

의도적으로 누락한 상태에서 평균을 계산하는 경우가 아니라면 AVG()가 아닌, SUM()으로 평균을 구해야 한다.

"SUM() / 분모 값"으로 내가 분모 값을 직접 입력하면 된다.

다시 말해, 01/01~01/31 동안의 데이터를 모두 SUM()하고 나누기 31을 하면 (흔히 사용하는 산술평균)정확한 평균 계산을 할 수 있다.

 

AVG()가 맞냐, SUM()이 맞냐를 따지기 보다, 사내에서 어떤 방식으로 평균을 계산하고 있는지를 고려하고 그에 맞는 방법을 택하여 평균을 구해야 한다.

 

AVG()와 SUM()으로 평균 구하기의 차이를 모른다면, 의도하지 않은 방향으로 값을 산출할 수 있다는 점을 유의하자.

반응형
top