본문 바로가기

Programming/[DB]

[DB] 그룹함수

■ 그룹함수

- 테이블의 전체 행을 하나 이상의 컴럼을 기준으로 컬럼값에 따라 그룹화하여 그룹별로 결과를 출력하는 함수(복수행 함수)

* 종류 : COUNT, MAX, MIN, SUM, AVG, STDDV, VARIANCE

 

○ 규칙

- NULL 값이 있는 컬럼은 조회에 포함시키지 않는다

- 로우가 없는 테이블에 그룹함수 CONT를 사용시 0이 출력되면 SUM을 사용시 SUM값 출력

- COUNT, MAX, MIN은 문자 숫자 날짜 데이터 모두 사용가능

- AVG, SUM, VARIANCE, STDDV는 숫자만 가능

- Expr이 있는 인수들의 자료형태는 CHAR, VARIANCE, NUMBER, DATE형이 될수 있다

 

 

○ COUNT

- 테이블에서 조건을 만족하는 행의 개수를 반환하는 함수

 

○ MAX/MIN

- MAX = 지정한 컬럼 값들 중에서 최대값을 구하는 함수

- MIN = 지정한 컬럼 값들 중에서 최소값을 구하는 함수

 

○ SUM

- 지정한 컬럼 값의 합계를 반환하는 함수(NULL은 제외)

 

○ AVG

- 지정한 컬럼 값의 평균을 반환하는 함수

 

○ STDDV

-  지정한 컬럼의 표준편차를 구하는 함수 분산 값의 제곱근

 

○ VARIANCE

- 지정한 컬럼의 분산을 구하는 함수

- 분산이란 주어진 범위의 개별 값과 평균 값과의 차이인 편파를 구해 이를 제곱해서 평균

 

■ 집합

○ UNION / UNION ALL

- UNION은 단순 합집합이며 중복값을 가지지 않는다

- UNION ALL은 중복값을 모두 출력한다

 

○ INTERSECT

- 교집합 : 둘이 겹치는 부분만 출력

 

○ MINUS

- 차집합 : 교집합 부분을 뺀 첫 집합의 고유한 값만이 출력

 

GROUP BY 절

 ROLLUP

- 추가적인 집계정보를 보여준다

- ROLLUP절에 명시할 수 있는 표현식에는 그룹핑 대상, SELECT 리스트에서 집꼐 함수를 제외한 컬럼의 표현식이 올수 있다

- 명시한 표현 식 수와 순서에 따라 레벨별로 집계한 결과가 반환

 

○ CUBE

- ROLLUP과 비슷하지만 개념이 다름. ROLLUP은 레벨별로 순차적 집계를 했다면 CUBE는 명시한 표현식 개수에 따라 가능한 모든 조합별로 집계한 결과를 반환한다

 

 

 

 

'Programming > [DB]' 카테고리의 다른 글

[DB] DML  (0) 2018.04.19
[DB] DDL문  (0) 2018.04.19
[DB] SQL함수  (0) 2018.04.18
[DB] SQL PLUS 명령어  (0) 2018.04.18
[DB] 데이터 베이스(오라클)  (0) 2018.04.18