IT 프로그래밍/ORACLE2014. 1. 26. 20:38

이번에는 그룹함수에 대해서 알아보겠습니다.

 

글 읽으시기 전에 손가락 한번 꾸~욱 눌러주시면 감사하겠습니다.^^

 

 

그룹 함수는 하나 이상의 행을 그룹으로 묶어 연산하여 총합, 평균 등을 하나의 결과로 나타냅니다.

 

우선 예제를 한번 보도록 하겠습니다.

 

select deptno, round(sal, 3) from emp;

 

결과는 다음과 같습니다.

 

 

 

 

위 결과를 보면 각 행에 대해서 함수가 적용되기 때문에 출력 결과가 함수를 적용하기 전과 동일하게 4개의 row로 구해집니다. 이러한 함수를 단일행 함수라고 하며 단일행 함수는 각 행에 대해서 함수의 결과가 구해지기 때문에 결과가 여러 개의 row로 구해집니다.

 

이번에는 그룹 함수를 이용해서 사원의 총 급여를 구해 보겠습니다.

 

select sum(sal) from emp;

 

 

 

 

그룹 함수의 결과는 사원이 총 4명인데도 결과는 하나의 행으로 출력됩니다.

 

다음은 그룹 함수의 종류를 정리한 표입니다.

 

 

 구분 

 설명 

 SUM 

 그룹의 누적 합계를 반환합니다. 

 AVG 

 그룹의 평균을 반환합니다. 

 COUNT 

 그룹의 총 개수를 반환합니다. 

 MAX 

 그룹의 최대값을 반환합니다. 

 MIN 

 그룹의 최소값을 반환합니다. 

 STDDEV 

 그룹의 표준편차를 반환합니다. 

 VARIANCE 

 그룹의 분산을 반환합니다. 

 

다음은 간단한 예제입니다.

 

평균 구하는 AVG 함수

select avg(sal) from emp;

 

최대값, 최소값 구하는 함수

select max(sal), min(sal) from emp;

 

row 개수 구하는 함수(count 함수는 null값에 대한 개수를 세지 않습니다.)

select count(comm) from emp;

 

크게 어려우신 부분은 없을듯 합니다.

 

다음 포스팅은 group by 절에 대해서 알아보겠습니다.

 

궁금하신 점은 댓글 남겨주세요~^^

 

 

Posted by 정윤문경아빠