select t.*, sum("In"-"Out") over(order by id) as balance
from tbl t
order by id
Geige: http://sqlfiddle.com/#!15/97dc5/2/0
Erwägen Sie, Ihre Spaltennamen "In" / "Out" zu ändern, damit Sie sie nicht in Anführungszeichen setzen müssen. (Sie sind reservierte Wörter)
Wenn Sie nur einen Kunden wollten (customer_id =2):
select t.*, sum("In"-"Out") over(order by id) as balance
from tbl t
where customer_id = 2
order by id
Wenn sich Ihre Abfrage über mehrere Kunden erstrecken würde und Sie einen laufenden Kontostand wünschen, der bei jedem Kunden NEU STARTET, könnten Sie Folgendes verwenden:
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