[sql] GROUP BY 절을 이용한 데이터의 분산/표준편차 계산하기

SQL을 사용할 때, GROUP BY 절을 이용하여 특정 열에 대한 데이터를 그룹화할 수 있습니다. 이 기능을 활용하면 특정 그룹 내의 데이터를 기반으로 분산표준편차를 계산할 수 있습니다.

분산 계산

분산을 계산하기 위해서는 먼저 각 그룹 내 데이터의 평균을 계산해야 합니다. 이후에 각 데이터와 평균 간의 제곱 차이를 계산한 뒤, 이 값을 모두 더하여 전체 데이터의 개수로 나누면 됩니다. SQL에서는 다음과 같이 VARIANCE 함수를 사용하여 분산을 계산할 수 있습니다.

예를 들어, 아래와 같은 sales 테이블이 있다고 가정해봅시다.

customer_id amount
1 200
2 300
1 150
2 250
SELECT customer_id, VARIANCE(amount) AS variance
FROM sales
GROUP BY customer_id;

위 쿼리를 실행하면, 각 고객별로 판매액의 분산이 계산됩니다.

표준편차 계산

표준편차는 분산의 제곱근으로 계산됩니다. SQL에서 STDEV 또는 STDEV_POP 함수를 사용하여 표준편차를 계산할 수 있습니다. 예를 들어, 위의 예제를 기반으로 표준편차를 계산하는 쿼리는 다음과 같습니다.

SELECT customer_id, STDEV(amount) AS std_deviation
FROM sales
GROUP BY customer_id;

위 쿼리를 실행하면, 각 고객별로 판매액의 표준편차가 계산됩니다.

위와 같이 SQL의 GROUP BY 절을 이용하여 데이터의 분산과 표준편차를 계산할 수 있습니다.

참고 자료