根据交易添加期末余额列(收入 - 支出)

时间:2016-04-09 13:10:48

标签: sql sql-server sqlite

我有一张像这张照片的桌子: enter image description here

我想添加一个结束余额列

=按日期计算的总和(收入)-sum(费用) (如果日期是2016年7月11日而不是金额(2016年7月11日之前的收入) - 金额(2016年7月11日之前的支出)

我的查询在这里

/****** Script for SelectTopNRows command from SSMS  ******/

SELECT TOP 1000 [uniqe_id]
  ,[entry_type]
  ,[date]
  ,[category]
  ,[description]
  ,[income]
  ,[expenses]
   ??????
 FROM [App_data].[dbo].[RC02]
 order by date;

1 个答案:

答案 0 :(得分:2)

您可以使用窗口SUMSQL Server 2012+):

SELECT *,
  [closing_balance] = SUM(ISNULL(income, 0) - ISNULL(expense,0)) OVER (ORDER BY [date])
FROM RC02
ORDER BY date;

如果您需要按user/...使用PARTITION BY ...进行计算。