학습용 기출·복원자료 분류 확인SQLD · 2024년 55회 SQL 기본 및 활용 · 16번
회원별·상품별 상세와 회원별 소계는 필요하지만 전체 합계는 필요 없을 때 적절한 GROUP BY는?
1
GROUP BY 회원번호, ROLLUP(상품)
정답 근거일반 그룹 열인 회원번호는 모든 그룹에 유지되고 ROLLUP(상품)은 상품 상세와 상품을 제거한 회원 소계를 만든다. 빈 그룹 `()`이 만들어지지 않으므로 전체 합계는 출력되지 않는다. 따라서 1번 보기 ‘GROUP BY 회원번호, ROLLUP(상품)’의 적용 여부를 문제 조건과 대조해야 한다.
2
GROUP BY ROLLUP(회원번호, 상품)
오답 이유이 ROLLUP은 `(회원번호,상품)`, `(회원번호)`, `()`을 생성해 전체 합계까지 포함한다. 따라서 2번 보기 ‘GROUP BY ROLLUP(회원번호, 상품)’의 적용 여부를 문제 조건과 대조해야 한다.
3
GROUP BY 회원번호, 상품
오답 이유상세 그룹만 생성하고 회원별 소계는 만들지 않는다. 따라서 3번 보기 ‘GROUP BY 회원번호, 상품’의 적용 여부를 문제 조건과 대조해야 한다.
4
GROUP BY CUBE(회원번호, 상품)
오답 이유CUBE는 상품별 소계와 전체 합계까지 추가해 요구한 집계 수준보다 많다. 따라서 4번 보기 ‘GROUP BY CUBE(회원번호, 상품)’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 1번
핵심 판단은 1번 ‘GROUP BY 회원번호, ROLLUP(상품)’입니다. 일반 그룹 열인 회원번호는 모든 그룹에 유지되고 ROLLUP(상품)은 상품 상세와 상품을 제거한 회원 소계를 만든다. 빈 그룹 `()`이 만들어지지 않으므로 전체 합계는 출력되지 않는다.