안녕하세요.. 분석함수를 공부하던중 이해가 안되는 부분이 있어서 이렇게 질문드립니다
with t as ( select 1 val from dual union all select 2 from dual union all select 3 from dual union all select 4 from dual union all select 5 from dual union all select 7 from dual union all select 8 from dual union all select 8 from dual ) select val , sum(val) over(order by val rows 2 preceding) rowsval , sum(val) over(order by val range 2 preceding) rangeval from t;
rows은 val값을 기준으로 자신의 행을 포함한 2번째 이전까지의 행을 합한거 같고..
range는 rows와 동일하게 2번째 이전의 행을 합하다가 val값이 8일때는 갑자기 왜 23이 나오는지....허.,,ㅠㅠ
도무지 원리를 모르겠습니다 ㅠㅠ