다음 결과처럼 상영관별 소계는 있고 전체 총계는 없도록 집계하려 한다.… | [SQLD] SQL 개발자 기출유형 모의고사 9회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 9회
다음 결과처럼 상영관별 소계는 있고 전체 총계는 없도록 집계하려 한다. ㉠에 들어갈 구문으로 옳은 것은?[상영실적]
| 관이름 | 장르 | 관객수 |
|---|---|---|
| 1관 | 액션 | 120 |
| 1관 | 드라마 | 80 |
| 1관 | 액션 | 40 |
| 2관 | 액션 | 90 |
| 2관 | 애니 | 60 |
SELECT 관이름, 장르, SUM(관객수) AS 관객 FROM 상영실적 GROUP BY ( ㉠ ) ORDER BY 관이름, 장르;
| 관이름 | 장르 | 관객 |
|---|---|---|
| 1관 | 드라마 | 80 |
| 1관 | 액션 | 160 |
| 1관 | (null) | 240 |
| 2관 | 애니 | 60 |
| 2관 | 액션 | 90 |
| 2관 | (null) | 150 |
1
ROLLUP(관이름, 장르)
2
GROUPING SETS(관이름, 장르)
3
CUBE(관이름, 장르)
4
관이름, ROLLUP(장르)
해설
GROUP BY 관이름, ROLLUP(장르)는 관이름을 늘 묶은 채 장르만 롤업하는 부분 ROLLUP 이라, 상세 행과 관별 소계만 만들고 총계는 만들지 않는다.결과는 1관 드라마·액션과 소계 240, 2관 애니·액션과 소계 150 의 6행이며 소계 행의 장르가 NULL 이다.
- ROLLUP(관이름, 장르) 는 마지막에 전체 총계 390 행이 더 붙는다.
- GROUPING SETS(관이름, 장르) 는 관별·장르별 소계만 만들고 상세 행이 없다.
- CUBE 는 장르별 소계와 총계까지 모두 만든다.
오류나 개정된 내용이 보이면 알려주세요