ROLLUP COMPOSITE COLUMN 문의
3
작성한 질문수 6
SELECTJOB, DEPTNO, SUM(SAL) FROM SCOTT.EMP GROUPBY ROLLUP((JOB, DEPTNO));
위 SQL에서 인수로 사용된 컬럼을 괄호롤 묶은 것은 소계를 생성하지 말고 총계만 구하라는 신택스 의미일뿐이고 실제 집합연산 기눈이 되는 GROUPING COLUMN 개수는 2개로 봐야하지 않나요 ?
답변 1
0
안녕하세요!
ROLLUP((JOB, DEPTNO))에서 JOB, DEPTNO는 실제로 2개의 컬럼이지만, ROLLUP의 그룹화 단위(Grouping Element)는 1개로 봅니다.
괄호로 묶인 (JOB, DEPTNO)는 하나의 복합 컬럼(Composite Column)으로 취급되기 때문입니다.
따라서 ROLLUP은 복합 컬럼 1개를 기준으로 집계하며, 다음 두 가지 그룹화 집합이 생성됩니다.
(JOB, DEPTNO): 상세 집계(): 전체 총계
즉, JOB 단위의 소계는 생성되지 않습니다.
질문하신 것처럼 실제 그룹화에 사용된 컬럼 수는 2개가 맞습니다. 다만 ROLLUP이 그룹화 집합을 생성할 때 기준으로 삼는 그룹화 단위의 수는 1개입니다.
따라서 실제 컬럼 수와 ROLLUP의 그룹화 단위 수를 구분하여 이해하시면 됩니다.
감사합니다!
수료증 제공하나요?
0
22
1
노션링크
0
33
1
조회 대상 행이 적을 때도 Using filesort 제거를 고려해야 하나요?
0
48
2
SYSDATE 입력
0
44
1
테이블 생성 시 PK 및 제약조건 문의
0
53
1
TCL 문의
0
45
1
PK를 AUTO_INCREMENT UUID를 UNIQUE로 하는것에 대해
0
62
2
본질 및 인조 식별자 질문
0
41
1
pk를 auto increment로 하는것에 대해서
0
52
2
슈퍼키 문의
0
47
1
질문있습니다!
0
46
1
3-13 리텐션 과제 제출합니다!
0
75
2
실행 통계2 explain analyze 조인 쿼리
0
62
1
3강 인덱스 구조 강의 자료 문의
1
79
1
68강 문제 풀이
0
46
1
현대 쿼리 복잡성에 관한 질문
0
105
3
key_length 가 사용되는곳
0
50
1
[과제]1-9 피벗 테이블 만들어보기
0
67
2
cnt수를 구할 때 왜 user_pseudo_id 를 사용하나요?
0
69
2
아래 글들에서 적혀있는 노션 페이지를 찾을수 없다는데요..
0
60
1
공통 코드 VS Enum 클래스
1
59
1
강의 DB데이터 질문
0
70
1
외래키 제약조건-참조동작 질문
1
128
1
교안 파일 문제
0
205
1





