SQLDSQL 활용난이도 2MCQ

SQLD SQL 활용 기출문제 #886

문제

다음 SQL에서 PRICE=2000인 상품의 누적 개수를 구할 때 결과가 다른 이유는?

상품 테이블: PRICE (1500, 2000, 2000, 2500)

SQL
SQL1: COUNT(*) OVER(ORDER BY PRICE ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) SQL2: COUNT(*) OVER(ORDER BY PRICE RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)

PRICE=2000인 첫 번째 행에서:

① SQL1=2, SQL2=3 ② SQL1=2, SQL2=2
③ SQL1=3, SQL2=2 ④ SQL1=3, SQL2=3

정답

1

해설

ROWS는 물리적 행 기준으로 처리하여 첫 번째 2000 행까지 2건(1500, 2000)을 카운트합니다. RANGE는 값 기준으로 처리하여 2000 이하의 모든 값을 포함하므로 3건(1500, 2000, 2000)을 카운트합니다. 따라서 SQL1=2, SQL2=3이 됩니다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] SQL 활용 기출 #886 | sqldpass