그룹 함수

2023. 10. 7. 17:16BOOKS/SQL 전문가 가이드

 
SQL 전문가 가이드
SQL 전문가 가이드는 SQL 자격검정 대비 수험서로 데이터베이스와 데이터 모델링에 대한 지식을 바탕으로 최적의 성능을 발휘할 수 있도록 SQL을 작성하고 데이터베이스 프로그램이나 응용 소프트웨어의 성능을 최적화하고 데이터베이스 개체의 설계와 구현을 위해 데이터 모델링의 이해, SQL기본 및 활용, SQL 고급 활용 및 튜닝 등의 실무가이드로 구성되어 있다.
저자
한국데이터산업진흥원
출판
한국데이터산업진흥원
출판일
2021.03.15

그룹 함수

  • ROLLUP 함수 : 소그룹 간의 소계 계산
    • GROUP BY의 확장된 형태로 사용하기 쉬움
    • 병렬로 수행할 수 있어 매우 효과적
    • 시간 및 지역처럼 계층적 분류를 포함하는 데이터 집계에 적합
  • CUBE 함수 : GROUP BY 항목 간 다차원적인 소계 계산 가능
    • 결합 가능한 모든 값에 대해 다차원적 집계 생성 ⇒ ROLLUP에 비해 다양한 데이터 얻는 장점 but 시스템에 많은 부하를 줌
  • GROUPING SETS 함수 : 특정 항목에 대한 소계 계산
    • 원하는 부분의 소계만 손쉽게 추출 가능

ROLLUP, CUBE, GROUPING SETS 결과에 대한 정렬이 필요한 경우 ORDER BY 절에 정렬 칼럼을 명시해야 한다.

ROLLUP 함수

SELECT ...
GROUP BY **ROLLUP(칼럼명)**
	[HAVING 그룹조건식]  
[ORDER BY 칼럼명];
  • 괄호 안의 집계 칼럼들을 우에서 좌로 하나씩 줄여가며, 점진적으로 상위 집계 그룹 생성
  • 인수 순서가 바뀌면 수행 결과가 바뀌므로 인수 순서에 주의해야 함
  • GROUPING 함수로 소계 된 계산 결과에는 1, 그 외의 결과에는 0으로 표시 ⇒ CASE나 DECODE함수 사용하여 소계를 나타내는 필드에 원하는 문자열 지정 가능
  • ROLLUP(칼럼명1,(칼럼명2,칼럼명3))에서 (칼럼명2,칼럼명3)와 같이 괄호로 묶인 칼럼은 하나의 집합 칼럼으로 간주

CUBE 함수

SELECT ...
GROUP BY **CUBE(칼럼명)**
	[HAVING 그룹조건식]  
[ORDER BY 칼럼명];
  • 괄호 안의 집계 칼럼들로 만들어지는 모든 경우의 수를 집계 기준으로 하여 집계 그룹 생성
  • 인수 순서 바꿔도 결과 동일(정렬 순서는 바뀔 수 있음)
  • GROUP BY + UNION ALL 사용하여 같은 결과를 만들 수 있다.

GROUPING SETS 함수

SELECT ...
GROUP BY **GROUPING SETS(칼럼명)**
	[HAVING 그룹조건식]  
[ORDER BY 칼럼명];
  • 괄호 안에 명시된 집계 칼럼들 별로 여러 개의 개별적인 집계 그룹 생성
  • GROUP BY + UNION ALL 사용하여 같은 결과를 만들 수 있다.
  • 인수 순서 바꿔도 결과 동일
  • ROLLUP, CUBE 기능과 동일하게 만들 수 있다.

'BOOKS > SQL 전문가 가이드' 카테고리의 다른 글

Top N 쿼리  (1) 2023.10.25
윈도우 함수  (0) 2023.10.07
집합 연산자  (0) 2023.10.07
서브쿼리  (0) 2023.10.07
표준 조인  (0) 2023.10.07