Description 그룹함수
그룹 함수는 테이블의 전채 행을 하나 이상의 컬럼을 기준으로 컬럼 값에 따라 그룹화하여 그룹별로 결과를 출력하는 함수
소계 및 총계 등을 구하기 위해서 그룹 함수를 사용하면 단일 DML만으로도 원하는 작업 가능
유형
Rollup
group by a,b union all group by a union all = group by rollup(a,b)
cube
group by a,b union all group by a union all group by b union all 전체 집합 결과
grouping sets
group by grouping sets(a,b) = group by a union all group by b
ROLLUP
지정된 컬럼의 소계 및 총계를 구하기 위해 사용하는 그룹 함수
지정 컬럼 수보다 하나 더 큰 레벨만큼 중간 집계 값이 생성
지정 컬럼은 계층별로 구성되어 순서가 바뀌면 수행 결과 값이 바뀜
문법
select 컬럼, 집계함수 from 테이블 명 [where] group by [컬럼명] ROLLUP (그룹화할 컬럼) [having][order by]
소계 집계 대상이 되는 컬럼을 RoLLUP 키워드 뒤에 기재
소계 집계 대상이 아닌 경우 group by 키워드 뒤에 기재
slect 뒤에 컬럼이 포함 되는 컬럼이 group by 또는 rullup 키워드 뒤에 기재 되어야 함
CUBE
결합 가능한 모든 값에 대해 다차원 집계를 생성하는 그룹 함수
내부적으로 대상 컬럼의 순서를 변경하여 또 한번 쿼리를 수행
인자로 주어진 컬럼의 결합 가능한 모든 조합에 대해서 집계를 수행하므로 다른 함수보다 시스템 부하가 크다
문법
select 컬럼명 집계 함수 from 테이블 where group by [컬럼명] cube (그룹화 할 컬럼) [having][order by]
소계 집계 대상이 되는 컬럼을 cube 키워드 뒤에 기재
소계 집계 대상이 아닌경우 group by 키워드 뒤에 기재
select 뒤에 포함되는 컬럼이 group by or cube 키워드 뒤에 기제
grouping sets
집계 대상 컬럼에 대한 소계를 구할 수 있는 함수
roullup과 달리 컬럼 간 순서와 무결과한 결과
다양한 소계 집합 만들기 가능
문법
select 컬럼명, 집계 함수 from 테이블 [where] group by [컬럼] grouping sets (그룹할 컬럼) havaing orderby
소계 집계 대상이 되는 컬럼을 grouping sets 키워드 뒤에 기재
소계 집계 대상이 아닌 경우 group by 키워드 뒤에 기재
select 뒤에 포함되는 컬럼 이 group by or grouping sets 키워드 뒤에 기재되어야 함
그룹화 할 열에 빈 괄호가 포함 되는 경우에 전체 데이터에 대한 집계를 추가함
grouping
rollup, cube, grouping sets 함수를 사용하는 경우 컬럼의 소계 여부를 확인 할 수 있다
select 절과 having 절에도 사용가능
문법
grouping (컬럼명)
컬럼이 소계 처리된 결과에는 1을 반환
컬럼이 소계 처리안된 결과에는 0을 반환
Reactions are currently unavailable
You can’t perform that action at this time.
그룹함수
유형
ROLLUP
문법
CUBE
문법
grouping sets
문법
grouping
문법