[Oracle] 오라클 그룹별 평균 구하기

오라클에서 그룹별로 평균을 구하기 위해서는 AVG 함수를 사용하면 된다. 일반적으로 GROUP BY 절과 AVG 함수를 사용하여 그룹별 평균을 구하며, 전체 데이터를 그룹화하지 않고 조회된 데이터에서 그룹별 평균값을 표시하고 싶을 때는 분석함수(OVER 절)를 사용하면 된다. 평균값의 소수점을 없애기 위해서는 ROUND 함수를 사용하여 반올림하거나, TRUNC 함수를 사용하여 소수점을 절사 할 수 있다.

 

오라클 그룹별 평균 구하기

목차
  1. GROUP BY 절을 사용하여 그룹별 평균  구하기
  2. 분석함수를 사용하여 그룹별 평균 구하기

 

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

 

 

조회된 직원의 직업에 해당하면 급여 평균을 표시하는 예제이다.

분석함수를 사용하면 그룹별로 데이터를 묶지 않고 조회된 데이터에서 그룹별 평균을 구하여 표시할 수 있다.

 

 

[Oracle] 분석함수 사용법 정리(PARTITION BY)

오라클에서 분석함수를 사용할 때 PARTITION BY를 사용하여 그룹으로 묶어서 연산을 할 수 있다. GROUP BY 절을 사용하지 않고, 조회된 각 행에 그룹으로 집계된 값을 표시할 때 OVER 절과 함께 PARTITION B

gent.tistory.com

 

[Oracle] 평균 구하는 방법 (AVG 함수)

오라클에서 AVG 함수를 사용하면 평균을 쉽게 구할 수 있다. 그러나 NULL 값을 처리하지 않으면 평균 값에 오류가 발생할 수 있으니 주의해야 한다. SELECT AVG(sal) FROM emp 평균을 구할 컬럼의 값에 NULL

gent.tistory.com

 

[Oracle] ROUND 함수 사용법 (소수점 반올림)

오라클 SQL에서 소수점 자리수를 지정하기 위해서 ROUND 함수를 사용한다. ROUND 함수는 특정 소수점을 반올림하고 나머지를 버리는 함수 이다. 소수점을 반올림하지 않고 절사만 원한다면 TRUNC 함

gent.tistory.com

 

[Oracle] TRUNC 함수 사용법 (소수점 절사)

오라클(Oracle) TRUNC 함수 사용법 TRUNC 함수는 오라클의 아주 기본적인 함수이다. 단순 절사기능만 사용했다면 아래의 다양한 옵션을 익히면 조금 더 활용도를 높일 수 있다. TRUNC 함수TRUNC 함수는

gent.tistory.com

 

댓글

Designed by JB FACTORY