What a Beautiful Data!

Solvesql 데이터 그룹으로 묶기 mysql 문제 풀이 (표본 분산)

by darami

 

Solvesql 데이터 그룹으로 묶기

 

-  평균, 표본 분산 등을 그룹핑하여 푸는 문제

 

헷갈릴 수 있는 포인트 

- DBMS에 따라 표본 분산을 구하는 함수가 다를 수 있다

- VARIANCE() 를 취하면 표본 분산이 아닌 모분산을 구하게 된다. 이 부분 때문에 처음에 헷갈렸다. 

 

이 부분은 통계학적 지식이 조금 가미되어야 하는데, 다시 헷갈리지 않도록 정리해보도록 하겠다. 

reference : w3resource

VAR_SAMP() : the sample variance (표본 분산) 

VARIANCE() : the population standard variance (모분산)

정답 코드 

SELECT quartet
    , ROUND(AVG(x),2) AS x_mean
    , ROUND(VAR_SAMP(x),2) AS x_var
    , ROUND(AVG(y),2) AS y_mean
    , ROUND(VAR_SAMP(y),2) AS y_var
from points 
GROUP BY quartet

그런데 여기서 사실 문제가 있었다. 

라고 되어있어서 당연히 처음에 ROUND(,1)을 해주었는데 제출 결과

소수점 둘째자리까지의 출력을 원하여 틀린 답이 되었다. 

 

그래서 (???) 내가 잘못 알고 있는게 있나? 하며 '소수점 아래 둘째자리 반올림', '소수점 아래' 를 구글링 하며 열심히 초등학생과 중학생의 공부 풀이를 다시 마주했다... ㅎㅎ 문제 오류인것 같아 결론적으로 슬랙에 질문을 남겼고 

문제가 오류가 있는 것 같다고 짚어주셔서 ??? 가 풀리게 되었다. 이 문제는 '쉬움' 난이도임에도 불구하고 정답률이 22%였는데 많은 분들이 문제 오류겠거니 하고 넘어가신것 같다. 

블로그의 정보

다람

darami

활동하기