select
날짜
, 입고량
, 출고량
,
sum
(입고량-출고량)
현재수량
from
t
order
by
날짜
이렇게도가능할텐데 이건이해되시나요???
select
날짜
, 입고량
, 출고량
,
sum
(입고량-출고량)
현재수량
from
t
order
by
날짜
이렇게도가능할텐데 이건이해되시나요???
현재수량은 누적을 구하는 건데요 sum(x) over (order by x를 누적시킬때 순서) 이렇게 되는거에요~
쿼리의 마지막 order by 날짜 아실테고...
즉 가상값 (x값은 그 row의 입고량-출고량) 입니다.
그래서 가상값으로
현재수량은
100.0.44
2785.558
-461.61
-68.46
-472.06
....
이런 값이 되는데... sum 이 되는 순서를 order by 날짜를 하였으니... 그값이 순서대로 오른쪽에 날자별로 계속 row를 누적되서 표현되는거랍니다.
결론 : 정렬되어 있는 위에 가상값을 순서대로 row가 나올때마다 누적시키는겁니다.
아...설명하는게...답드린것보다 더 어렵네요..
날짜 | 입고량 | 출고량 | 재고량 | A | B | ||
1 | 125.044 | 25 | 100.044 | 125.044 - 25 | 100.044 | ||
2 | 2994.098 | 208.54 | 2885.602 | 3119.142 - 233.54 | 278.588 | ||
3 | 0 | 461.61 | 2423.602 | 3119.142-695.18 | -461 | ||
4 | 0 | 68.46 | 2355.532 | 3119.142-763.64 | -68.46 | ||
5 | 0 | 0 | 2355.532 | 3119.142-763.64 | 0 |