문제
다음 SQL의 실행 결과에서 ID=3인 행의 MOVING_AVG 값은? (소수점 첫째자리까지)
SQLSELECT ID, VAL, AVG(VAL) OVER(ORDER BY ID ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) AS MOVING_AVG FROM T1;
테이블 T1: ID(1,2,3,4,5), VAL(10,20,30,40,50)
① 20.0 ② 25.0 ③ 30.0 ④ 33.3
정답
3번
해설
③ (정답) ID=3인 행에서 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING은 ID=2,3,4 행을 포함합니다. VAL 값은 20,30,40이므로 평균은 (20+30+40)/3 = 30.0입니다. ① (오답) ID=2의 이동평균값 (10+20+30)/3 = 20.0입니다. ② (오답) 계산 오류입니다. ④ (오답) 계산 오류입니다.