[solvesql] 데이터 그룹으로 묶기
출처
문제
난이도: 쉬움, 주제: GROUP BY, 제출 횟수: 2572번, 정답 횟수: 638번, 정답률: 24.81%
points
테이블은 프란시스 앤스컴이 만든 Anscombe’s quartet 데이터를 담고 있습니다. 이 데이터는 quartet
컬럼에 의해 4개의 서브셋으로 나뉘어지고, 각 서브셋은 평균, 표본 분산, 상관계수 등이 거의 동일하나 데이터의 분포를 시각화하면 전혀 다른 분포를 가지는 특징이 있습니다.
points
테이블에 쿼리를 수행해 quartet
으로 구분되는 각 서브셋 데이터에 대해서 아래 통계량을 계산하는 쿼리를 작성해주세요. 계산된 값은 소수점 아래 셋째 자리에서 반올림 해야 합니다. 결과 데이터에는 아래 5개의 컬럼이 존재 해야 합니다.
quartet
- 콰르텟x_mean
-x
평균x_var
-x
표본 분산y_mean
-y
평균y_var
-y
표본 분산
힌트
- 이 문제에서 구해야 하는 분산은 모분산이 아니라 표본 분산입니다. DBMS에 따라 표본 분산을 구하는 함수가 다를 수 있으니 유의해주세요.
풀이
- 반올림 함수
round()
, 셋째 자리에서 반올림 하기 때문에 2째자리까지 표시 - 평균함수
avg()
- 표본함수
variance()
1 2 3 4 5 6
select quartet, round(avg(x),2) as x_mean, round(variance(x),2) as x_var, round(avg(y),2) as y_mean, round(variance(y),2) as y_var from points group by quartet;