select t.*, sum("In"-"Out") over(order by id) as balance
from tbl t
order by id
बेला: http://sqlfiddle.com/#!15/97dc5/2/0
अपने कॉलम नाम "इन" / "आउट" को बदलने पर विचार करें ताकि आपको उन्हें उद्धरणों में डालने की आवश्यकता न हो। (वे आरक्षित शब्द हैं)
यदि आप केवल एक ग्राहक चाहते हैं (customer_id =2):
select t.*, sum("In"-"Out") over(order by id) as balance
from tbl t
where customer_id = 2
order by id
यदि आपकी क्वेरी कई ग्राहकों तक फैली हुई थी और आप एक चालू शेष राशि चाहते थे जो प्रत्येक ग्राहक के साथ फिर से शुरू हो, तो आप इसका उपयोग कर सकते हैं:
select t.*, sum("In"-"Out") over( partition by customer_id
order by customer_id, id ) as balance_by_cust
from tbl t
order by customer_id, id