IT/ORACLE

ORACLE 오라클 집계함수 정의 및 예제

!? 2024. 2. 28.

 

 

오라클에서 제공하는 집계 함수에 대해 자세히 알아보겠습니다. 집계 함수는 데이터의 그룹을 대상으로 통계적인 연산을 수행하여 유용한 정보를 도출하는 데 사용됩니다. 다양한 집계 함수를 활용하면 데이터 분석 작업을 효과적으로 수행할 수 있습니다.

 

1. 집계함수 정리

COUNT 주어진 컬럼의 행 수를 계산
SUM 주어진 컬럼의 숫자 값들의 합계
AVG 주어진 컬럼의 숫자 값들의 평균을 계산
MIN, MAX 주어진 컬럼의 최소, 최값을 계산
GROUP BY 집계 함수와 함께 사용되어 데이터를 그룹별로 분류하고 각 그룹에 대한 집계 연산을 수행
HAVING GROUP BY 절과 함께 사용되어 그룹화된 결과에 조건을 적용
ROLLUP GROUP BY 절에서 다중 컬럼 그룹화를 수행하여 계층적인 집계 결과를 생성
CUBE GROUP BY 절에서 다차원의 집계 결과를 생성
VARIANCE 주어진 컬럼의 분산을 계산
STDDEV 주어진 컬럼의 표준 편차를 계산
CORR 두 개의 숫자 컬럼 간의 상관 계수를 계산
COVAR_POP  두 개의 숫자 컬럼 간의 모집단 공분산을 계산
COVAR_SAMP 두 개의 숫자 컬럼 간의 표본 공분산을 계산
REGR_SLOPE 주어진 숫자 컬럼들 간의 회귀선의 기울기를 계산
REGR_INTERCEPT 주어진 숫자 컬럼들 간의 회귀선의 y 절편을 계산

 

 

 

 

 

 

2. 집함수 정의 및 예제

 

1. COUNT 함수
 - 주어진 컬럼의 행 수를 계산합니다. NULL 값은 제외하고 계산되며, DISTINCT 키워드와 함께 사용하여 중복을 제외한 유니크한 값의 개수를 계산할 수도 있습니다.

SELECT COUNT(*) AS TotalCount FROM employees;
-- 결과: 전체 직원 수

 

2. SUM 함수
 - 주어진 컬럼의 숫자 값들의 합계를 계산합니다. NULL 값은 무시됩니다.

SELECT SUM(salary) AS TotalSalary FROM employees;
-- 결과: 직원들의 총 급여 합계

 

3. AVG 함수

 - 주어진 컬럼의 숫자 값들의 평균을 계산합니다. NULL 값은 무시됩니다.

SELECT AVG(salary) AS AverageSalary FROM employees;
-- 결과: 직원들의 평균 급여

 

4. MIN, MAX 함수

 - 주어진 컬럼의 최소, 최값을 계산합니다. NULL 값은 무시됩니다.

SELECT MIN(salary) AS MinSalary FROM employees;
-- 결과: 최소 급여

SELECT MAX(salary) AS MaxSalary FROM employees;
-- 결과: 최대 급여

 

5. GROUP BY 절

 - 집계 함수와 함께 사용되어 데이터를 그룹별로 분류하고 각 그룹에 대한 집계 연산을 수행합니다.

SELECT department_id, AVG(salary) AS AvgSalary
FROM employees
GROUP BY department_id;
-- 결과: 각 부서별 평균 급여

 

6. HAVING 절

 -  GROUP BY 절과 함께 사용되어 그룹화된 결과에 조건을 적용합니다.

SELECT department_id, AVG(salary) AS AvgSalary
FROM employees
GROUP BY department_id
HAVING AVG(salary) > 5000;
-- 결과: 평균 급여가 5000 이상인 부서만 출력

 

7. ROLLUP 함수

 - GROUP BY 절에서 다중 컬럼 그룹화를 수행하여 계층적인 집계 결과를 생성합니다.

SELECT department_id, job_id, SUM(salary) AS TotalSalary
FROM employees
GROUP BY ROLLUP(department_id, job_id);
-- 결과: 부서별, 직무별, 전체에 대한 급여 합계 계산

 

 

 

 

 

 

8. CUBE 함수

 - GROUP BY 절에서 다차원의 집계 결과를 생성합니다. 모든 가능한 조합에 대한 집계를 수행합니다.

SELECT department_id, job_id, SUM(salary) AS TotalSalary
FROM employees
GROUP BY CUBE(department_id, job_id);
-- 결과: 부서별, 직무별, 부서별+직무별, 전체에 대한 급여 합계 계산

 

9. VARIANCE 함수

 - 주어진 컬럼의 분산을 계산합니다. 분산은 데이터의 흩어짐 정도를 나타내는 통계적인 지표입니다.

SELECT VARIANCE(salary) AS SalaryVariance FROM employees;
-- 결과: 급여의 분산

 

10. STDDEV 함수

 - 주어진 컬럼의 표준 편차를 계산합니다. 표준 편차는 데이터의 분산 정도를 나타내는 지표로, 분산의 양의 제곱근입니다.

SELECT STDDEV(salary) AS SalaryStdDev FROM employees;
-- 결과: 급여의 표준 편차

 

11. CORR  함수

 - 두 개의 숫자 컬럼 간의 상관 계수를 계산합니다. 상관 계수는 두 변수 간의 선형 상관 관계를 측정하는 지표입니다.

SELECT CORR(salary, commission_pct) AS SalaryCommissionCorr FROM employees;
-- 결과: 급여와 커미션의 상관 계수

 

12. COVAR_POP 함수

 - 두 개의 숫자 컬럼 간의 모집단 공분산을 계산합니다.

SELECT COVAR_POP(salary, commission_pct) AS SalaryCommissionCovar FROM employees;
-- 결과: 급여와 커미션의 모집단 공분산

 

13. COVAR_SAMP 함수

 - 두 개의 숫자 컬럼 간의 표본 공분산을 계산합니다.

SELECT COVAR_SAMP(salary, commission_pct) AS SalaryCommissionCovar FROM employees;
-- 결과: 급여와 커미션의 표본 공분산

 

14. REGR_SLOPE 함수

 - 주어진 숫자 컬럼들 간의 회귀선의 기울기를 계산합니다. 회귀선은 두 변수 간의 선형 관계를 나타내는 선입니다.

SELECT REGR_SLOPE(salary, commission_pct) AS SalaryCommissionSlope FROM employees;
-- 결과: 급여와 커미션의 회귀선 기울기

 

15. REGR_INTERCEPT 함수

 - 주어진 숫자 컬럼들 간의 회귀선의 y 절편을 계산합니다.

SELECT REGR_INTERCEPT(salary, commission_pct) AS SalaryCommissionIntercept FROM employees;
-- 결과: 급여와 커미션의 회귀선 y 절편

 

 

이러한 함수들은 데이터 분석 작업에서 중요한 역할을 수행하며, 데이터의 분산, 표준 편차, 상관 관계, 공분산, 회귀 분석 등 다양한 통계적인 계산을 수행할 수 있습니다. 함수의 사용법과 예제를 참고하여 데이터 분석에 적용해보세요. 

 

 

 

 

댓글