상세 컨텐츠

본문 제목

[ORACLE] STDDEV() 함수로 표준편차 계산하는 방법

Oracle

by Dev. Orion 2025. 6. 1. 15:21

본문

728x90

오라클 STDDEV() 함수로 표준편차 계산하는 방법
Oracle STDDEV()

 

 

 

Oracle SQL에서 STDDEV() 함수는 통계 분석에서 핵심 개념인 표준편차(Standard Deviation)를 계산할 수 있게 해주는 집계 함수입니다. 평균(AVG)만으로는 데이터의 분산 정도를 파악하기 어려운 경우가 많기 때문에, STDDEV() 함수는 데이터의 흩어짐 정도를 분석할 때 유용하게 사용됩니다.

1. STDDEV() 함수란?

STDDEV() 함수는 입력된 수치형 칼럼의 표준편차를 반환합니다. 이 함수는 집계 함수로 단일 칼럼의 데이터 분산 정도를 수치화합니다.

SELECT STDDEV(salary) FROM employees;

2. 기본 개념 - 표준편차란?

  • 표준편차는 각 데이터가 평균에서 얼마나 떨어져 있는지를 나타내는 통계 지표입니다.
  • 값이 클수록 데이터의 변동성이 크다는 뜻입니다.
  • 표준편차 공식: sqrt(∑(x - 평균)^2 / (n - 1))

3. STDDEV() 기본 사용법

SELECT STDDEV(salary) AS salary_stddev
FROM employees;

전체 직원의 급여 표준편차를 계산합니다.

4. STDDEV()와 GROUP BY

부서별 급여 표준편차를 계산할 수 있습니다.

SELECT department_id, STDDEV(salary) AS dept_salary_stddev
FROM employees
GROUP BY department_id;

5. 조건부 STDDEV()

특정 조건을 만족하는 데이터의 표준편차 계산:

SELECT STDDEV(salary) AS sales_stddev
FROM employees
WHERE department_id = 80;

6. 분석 함수 STDDEV() OVER()

Oracle에서는 STDDEV()를 분석 함수로 사용할 수 있어, 행별로 그룹 내 표준편차 값을 계산할 수 있습니다.

SELECT employee_id, department_id, salary,
       STDDEV(salary) OVER (PARTITION BY department_id) AS dept_stddev
FROM employees;

7. 실무 활용 예제

7.1 직무별 급여 분산도 분석

SELECT job_id, STDDEV(salary) AS job_salary_stddev
FROM employees
GROUP BY job_id;

7.2 전체 평균보다 분산이 큰 부서 찾기

SELECT department_id
FROM employees
GROUP BY department_id
HAVING STDDEV(salary) > (SELECT STDDEV(salary) FROM employees);

7.3 월별 매출 표준편차 분석

SELECT TO_CHAR(sales_date, 'YYYY-MM') AS month,
       STDDEV(amount) AS monthly_stddev
FROM sales
GROUP BY TO_CHAR(sales_date, 'YYYY-MM');

8. STDDEV()와 VARIANCE()의 차이

함수 의미 결과
STDDEV() 표준편차 (sqrt(분산)) 원 단위와 동일
VARIANCE() 분산 (표준편차의 제곱) 제곱된 단위

9. STDDEV() 성능 주의사항

  • GROUP BY와 함께 사용할 경우, 많은 양의 데이터를 처리하므로 인덱스를 적절히 활용하세요.
  • NULL 값은 자동으로 제외되며, NULL이 많은 경우 분석 결과가 왜곡될 수 있습니다.
  • 분석 함수 OVER()는 OLAP에 적합하며, 대용량에서는 성능 튜닝이 필요할 수 있습니다.

10. STDDEV() 사용 시 자주 묻는 질문

Q1. STDDEV는 NULL 값을 포함하나요?

A. 아니요. STDDEV는 NULL 값을 자동으로 무시합니다.

Q2. STDDEV 함수는 어떤 타입의 칼럼에 사용할 수 있나요?

A. 숫자형(Numeric) 칼럼에만 사용 가능합니다.

Q3. STDDEV_POP과의 차이는?

A. STDDEV는 표본 표준편차(Sample), STDDEV_POP은 모집단 표준편차를 계산합니다.

11. 요약

STDDEV() 함수는 데이터의 퍼짐 정도를 분석하는 데 매우 유용하며, 단순 평균과 함께 사용하면 보다 입체적인 분석이 가능합니다. 특히 실무에서는 GROUP BY, HAVING, PARTITION BY 등과 결합하여 다양한 통계적 인사이트를 제공할 수 있습니다.

출처

728x90

관련글 더보기