작성
·
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 인턴입니다.
ROLLUP
은 GROUP BY
와 함께 사용되며, 다중 차원의 집계 결과를 한 번에 볼 수 있게 해주는 중요한 SQL 기능입니다. ROLLUP
을 사용하면 여러 레벨의 집계를 자동화하여 쉽게 수행할 수 있습니다.
GROUP BY ROLLUP(1, 2, 3)
을 예로 들면, 다음과 같은 방식으로 집계 결과를 볼 수 있습니다:
GROUP BY(1, 2, 3)
와 같은 결과가 됩니다.각 단계는 더 세부적인 결과를 제공하며, 마지막에는 각각의 조합에 대한 집계와 함께 총합이 포함되는 것을 볼 수 있습니다.
유사한 질문과 답변은 다음 링크에서 참고하실 수 있습니다:
GROUP BY
에 대해 설명하며 집계 함수와의 관계를 자세히 다루고 있습니다.궁금하신 부분이 더 있으면 언제든지 추가적으로 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.