I need to subtract first row lot_size + substraction result
from currentitems
column. If no balance left then it should be 0. bal
is how result column should look.
rowno | location | lot_size | currentitems | bal | bal_left
-------+----------+----------+--------------+--------+--------
1 | AB1210 | 1200 | 1000 | 1000 | 200
2 | AB1220 | 1200 | 1000 | 200 | 0
3 | AB1230 | 1200 | 500 | 0 | 0
Current approach (using postgresql 9.3.1):
SELECT
row_number() over (ORDER BY location) as rowno,
location,
currentitems,
1200 as lot_size,
--here should be some case or something
COALESCE(lag(currentitems) over(ORDER BY location),currentitems) AS bal
FROM foo;
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…