인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

joan321님의 프로필 이미지

작성한 질문수

데이터 분석 SQL Fundamentals

Group By Rollup과 Cube의 이해

rollup

작성

·

46

0

그러면 group by를 할때 rollup을 사용하게 되면, group by에 해당하는 컬럼들에 우선순위가 매겨지면서 그들의 합을 보는건가요?? group by(1, 2, 3)이라면 1끼리의 합계, 1+2의 합계, 1+3의 합계, 1+2+3의 합계 이런식으로 보는건가요?

답변 2

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

group by(1, 2, 3)이라면에서 1, 2, 3이 컬럼명인가요? group by에 해당하는 컬럼들에 우선순위가 매겨지면서 그들의 합을 보는건가요 라는 의미가 어떤 건지 제가 잘 이해를 못했습니다만, 일단 컬럼명이라면 적어놓은 순서대로 rollup이 되지 않습니다.

rollup은 group by 를 하되, 소계(소항목) 레벨로 group by를 추가하는 것입니다.

그러니까 rollup(dept, job) 이라고 하면 원래 group by dept, job 이면 dept + job 레벨로 group by를 하는 것입니다. 그런데 rollup은 이렇게 group by를 하다가 dept 레벨로 소항목을 퉁쳐서 group by 를 합니다. 그리고 맨 마지막에는 전체 aggregation을 하게 됩니다.

여전히 잘 이해가 안되신다면, 강의를 다시 한번 들어보시면 좋을 것 같습니다. 그림으로 설명되었으니, 다시 한번 찬찬히 들여다 보시면 도움이 될 것입니다.

감사합니다.

 

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.

ROLLUPGROUP BY와 함께 사용되며, 다중 차원의 집계 결과를 한 번에 볼 수 있게 해주는 중요한 SQL 기능입니다. ROLLUP을 사용하면 여러 레벨의 집계를 자동화하여 쉽게 수행할 수 있습니다.

GROUP BY ROLLUP(1, 2, 3)을 예로 들면, 다음과 같은 방식으로 집계 결과를 볼 수 있습니다:

  • 1끼리의 합계: 가장 상위 레벨로, 첫 번째 열에 대한 전체 집계를 제공합니다.
  • 1+2의 합계: 첫 번째와 두 번째 열 값들에 대한 집계를 계산합니다.
  • 1+2+3의 합계: 모든 열에 대한 가장 하위 레벨의 세부 집계를 수행합니다. 이는 일반적인 GROUP BY(1, 2, 3)와 같은 결과가 됩니다.
  • 최종 합계: 모든 열에서의 집계값이 제공됩니다. (가장 상위 레벨의 총합)

각 단계는 더 세부적인 결과를 제공하며, 마지막에는 각각의 조합에 대한 집계와 함께 총합이 포함되는 것을 볼 수 있습니다.

유사한 질문과 답변은 다음 링크에서 참고하실 수 있습니다:

궁금하신 부분이 더 있으면 언제든지 추가적으로 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

joan321님의 프로필 이미지

작성한 질문수

질문하기