Oracle 기준으로 다음 SQL 의 실행 결과로 옳은 것은?[상영]상… | [SQLD] SQL 개발자 기출유형 모의고사 9회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 9회
Oracle 기준으로 다음 SQL 의 실행 결과로 옳은 것은?

[상영]

상영번호관이름관객수
11관30
21관50
31관20
42관40
52관(null)
62관60
SELECT 상영번호,
       RATIO_TO_REPORT(관객수)
         OVER (PARTITION BY 관이름) AS 비율
  FROM 상영
 ORDER BY 상영번호;
1
상영번호비율
10.3
20.8
31
40.4
5(null)
61
2
상영번호비율
10.3
20.5
30.2
40.4
5(null)
60.6
3
상영번호비율
10.3
20.5
30.2
40.4
50
60.6
4
상영번호비율
10.15
20.25
30.1
40.2
5(null)
60.3
해설

RATIO_TO_REPORT 는 각 행 값을 파티션 합계로 나눈 비율로, 1관은 합 100 기준 0.3·0.5·0.2, 2관은 NULL 을 뺀 합 100 기준 0.4·0.6 이다.

관객수가 NULL 인 상영 5 는 나눌 값이 없어 비율도 NULL 이며, 합계 계산에서도 제외된다.

  • 0.15 부터 시작하는 표는 PARTITION BY 없이 전체 합 200 으로 나눈 결과이다.
  • 상영 5 가 0 인 표는 NULL 을 0 으로 바꿔 계산한 것이다.
  • 0.8·1 이 나오는 표는 누적 비율로 오해한 결과이다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 9회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기