inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

SQLD 자격대비 과정

그룹함수 - ROLLUP, GROUPING

ROLLUP COMPOSITE COLUMN 문의

3

happychohb

작성한 질문수 6

0

SELECTJOB, DEPTNO, SUM(SAL) FROM SCOTT.EMP GROUPBY ROLLUP((JOB, DEPTNO));

위 SQL에서 인수로 사용된 컬럼을 괄호롤 묶은 것은 소계를 생성하지 말고 총계만 구하라는 신택스 의미일뿐이고 실제 집합연산 기눈이 되는 GROUPING COLUMN 개수는 2개로 봐야하지 않나요 ?

sql SQLD

답변 1

0

SoYoung Yoon

안녕하세요!

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