select t.*, sum("In"-"Out") over(order by id) as balance
from tbl t
order by id
フィドル: http://sqlfiddle.com/#!15/97dc5/2/0
列名を「In」/「Out」に変更して、引用符で囲む必要がないようにすることを検討してください。 (予約語です)
1人の顧客のみが必要な場合(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