문제
다음 윈도우 프레임 절에서 각 행의 합계 계산 결과가 다른 것은?
[SALES] amount: 100, 200, 200, 300 (순서대로)
두 번째 행(200)의 결과는?
① SQL1=300, SQL2=300 ② SQL1=300, SQL2=500 ③ SQL1=400, SQL2=500 ④ SQL1=200, SQL2=300
정답
2번
해설
두 번째 행(첫 번째 200)에서 SQL1(ROWS)은 물리적으로 이전 1행(100)과 현재 행(200)을 합하므로 300입니다. SQL2(RANGE)는 값 기준으로 현재 값 200에서 100 PRECEDING 범위인 100 이상 200 이하의 모든 행을 포함합니다. 따라서 100, 200, 200이 모두 포함되어 합계는 500입니다.