오라클에서 제공하는 집계 함수에 대해 자세히 알아보겠습니다. 집계 함수는 데이터의 그룹을 대상으로 통계적인 연산을 수행하여 유용한 정보를 도출하는 데 사용됩니다. 다양한 집계 함수를 활용하면 데이터 분석 작업을 효과적으로 수행할 수 있습니다.
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 절편
이러한 함수들은 데이터 분석 작업에서 중요한 역할을 수행하며, 데이터의 분산, 표준 편차, 상관 관계, 공분산, 회귀 분석 등 다양한 통계적인 계산을 수행할 수 있습니다. 함수의 사용법과 예제를 참고하여 데이터 분석에 적용해보세요.
'IT > ORACLE' 카테고리의 다른 글
ORACLE 오라클 함수 FUNCTION 정의 및 생성 (0) | 2024.03.09 |
---|---|
ORACLE 오라클 프로시저 PROCEDURE 서식 및 생성 (0) | 2024.03.09 |
ORACLE 오라클 날짜함수 시간함수 정의 및 예제 (0) | 2024.03.01 |
ORACLE 오라클 수치연산함수 정의 및 예제 (0) | 2024.02.27 |
ORACLE 오라클 문자열 함수 정의 및 예제 (0) | 2024.02.26 |
댓글