학습용 기출·복원자료 분류 확인SQLD · 2025년 59회 SQL 기본 및 활용 · 27번
현재 행을 포함해 파티션 첫 행부터 누적합을 구하는 ROWS 프레임은?
1
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
정답 근거UNBOUNDED PRECEDING은 파티션 첫 행이고 CURRENT ROW는 현재 행이다. ROWS를 사용하면 물리적 행 단위로 현재 행까지 누적한다. 따라서 1번 보기 ‘ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW’의 적용 여부를 문제 조건과 대조해야 한다.
2
RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
오답 이유정렬값이 같은 동료 행을 함께 포함하는 논리 범위라 물리적 행 기준 요구와 다르다. 따라서 2번 보기 ‘RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW’의 적용 여부를 문제 조건과 대조해야 한다.
3
ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING
오답 이유현재 행 직전까지만 포함해 현재 값이 빠진다. 따라서 3번 보기 ‘ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING’의 적용 여부를 문제 조건과 대조해야 한다.
4
ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
오답 이유‘ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING’은 이 문항에서 요구하는 ‘ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW’의 정의·역할과 구분된다. UNBOUNDED PRECEDING은 파티션 첫 행이고 CURRENT ROW는 현재 행이다. ROWS를 사용하면 물리적 행 단위로 현재 행까지 누적한다. 따라서 4번 보기 ‘ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 1번
핵심 판단은 1번 ‘ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW’입니다. UNBOUNDED PRECEDING은 파티션 첫 행이고 CURRENT ROW는 현재 행이다. ROWS를 사용하면 물리적 행 단위로 현재 행까지 누적한다.