티스토리 뷰

오라클 그룹 함수(COUNT, SUM, AVG, MIN, MAX)

 

그룹 함수는 전체 데이터를 그룹별로 구분하여 통계적인 결과를 구하기 위해서 사용하는 함수 입니다.

그룹 함수로는 건수(COUNT), 합계(SUM), 평균(AVG), 최대값(MAX), 최소값(MIN) 등이 있습니다.



간단한 설명 후 예제로 알아보도록 하겠습니다.

 

COUNT : 행의 건수를 카운트 하는 함수입니다.

SUM : 해당 열의 총 행의 합계를 구하는 함수입니다.

AVG : 해당 열의 총 행의 평균을 구하는 함수입니다.

MIN : 해당 열의 총 행중에 최소 값을 구하는 함수입니다.

MAX : 해당 열의 총 행중에 최대 값을 구하는 함수입니다.


예제로 자세히 알아보도록 하겠습니다.



4명의 사원 리스트에 대해서 COUNT , SUM , AVG , MIN , MAX를 구한 예제 입니다.

ROW는 4건이나 그룹함수를 사용하면 한건만 나오는것을 확인 할 수 있습니다.



그룹함수를 응용해서 사용할수도 있는데요. 예제로 알아보도록 하겠습니다.


 

부서별로 사원수를 구한 예제 입니다. 한줄에 표시하기 위하여 DECODE와 SUM을 사용하여 구하였습니다.

해당 예제는 통계 쿼리에서 많이 사용되며, DECODE 대신 CASE를 쓴다면 더 다양한 조건으로 값을 구할수 있습니다.




지금까지 알아본 내용은 한 개의 결과 값만 산출하였습니다. 하지만 부서별로 최대값, 최소값, 평균을 구하기 위해서는 GROUP BY 절을 활용 해야 됩니다.


예제로 자세히 알아보도록 하겠습니다.

 


부서별 합계, 평균, 최소값, 최대값을 구하는 예제 입니다.

GROUP BY 절에 기술한 필드로 그룹화 하여 해당 그룹에 속한 ROW에 SAL필드의 합계, 평균, 최소값, 최대값을 구하였습니다.



WHERE 절이 SELECT 문에서 조건 검색을 위해서 사용한다면, GROUP BY절에 의해 생성된 결과 값 중 원하는 조건에 부합하는 자료만 보고자 할때는 HAVING 절을 사용합니다.

 

예제를 통해서 자세히 알아보도록 하겠습니다.



부서별 합계, 평균, 최소값, 최대값을 구한 결과 값 중 SAL 평균이 1500 보다 큰 결과만 추출하였습니다.

HAVING 절에 조건을 추가하실때는 AND "조건" 식으로 추가하시면 됩니다.



댓글