[Oracle] 오라클 그룹별 평균 구하기
- 데이터베이스/오라클
- 2022. 11. 21.
오라클에서 그룹별로 평균을 구하기 위해서는 AVG 함수를 사용하면 된다. 일반적으로 GROUP BY 절과 AVG 함수를 사용하여 그룹별 평균을 구하며, 전체 데이터를 그룹화하지 않고 조회된 데이터에서 그룹별 평균값을 표시하고 싶을 때는 분석함수(OVER 절)를 사용하면 된다. 평균값의 소수점을 없애기 위해서는 ROUND 함수를 사용하여 반올림하거나, TRUNC 함수를 사용하여 소수점을 절사 할 수 있다.
목차 |
GROUP BY 절을 사용하여 그룹별 평균 구하기
그룹별 평균 구하기
SELECT job
, AVG(sal)
FROM emp
GROUP BY job
직업(job)별 평균 급여(sal)를 구하는 예제이다.
그룹별 평균값 소수점 반올림 하기
SELECT job
, AVG(sal) AS avg_sal1
, ROUND(AVG(sal), 1) AS avg_sal2
, ROUND(AVG(sal)) AS avg_sal3
FROM emp
GROUP BY job
ROUND 함수를 사용하여 평균값의 소수점을 반올림할 수 있다.
소수점을 반올림하지 않고 절사를 원할 경우 TRUNC 함수를 사용하면 된다.
그룹 칼럼이 여러 개인 경우 평균 구하기
SELECT b.dname
, a.job
, AVG(a.sal)
FROM emp a
, dept b
WHERE a.deptno = b.deptno
GROUP BY b.dname, a.job
ORDER BY b.dname
부서(dname) + 직업(job)별 평균 급여를 구하는 예제이다.
그룹 칼럼이 여러 개인 경우 해당 그룹 내의 평균을 구한다.
분석함수를 사용하여 그룹별 평균 구하기
SELECT ename
, job
, sal
, AVG(sal) OVER(PARTITION BY job) AS avg_job_sal
FROM emp
조회된 직원의 직업에 해당하면 급여 평균을 표시하는 예제이다.
분석함수를 사용하면 그룹별로 데이터를 묶지 않고 조회된 데이터에서 그룹별 평균을 구하여 표시할 수 있다.