如何在SQL中实现running-total
可能重复: 我正在创建一个事务表。我决定不把每个用户的余额存储在任何地方。我计划做的是,每个月我都会将余额提前,并计算出购买的余额减去借项加贷项后的余额 我的桌子看起来像这样如何在SQL中实现running-total,sql,sql-server,tsql,Sql,Sql Server,Tsql,可能重复: 我正在创建一个事务表。我决定不把每个用户的余额存储在任何地方。我计划做的是,每个月我都会将余额提前,并计算出购买的余额减去借项加贷项后的余额 我的桌子看起来像这样 ID int primary key userID int foriegn key TransactionDate datetime description varchar(200) amount money balanceBoughtForward bit 我正计划编写一个函数,该函数获取最新的记录,该记录是一个ba
ID int primary key
userID int foriegn key
TransactionDate datetime
description varchar(200)
amount money
balanceBoughtForward bit
我正计划编写一个函数,该函数获取最新的记录,该记录是一个balanceboughtforward,然后使用该id在一个具有额外列balance的视图中使用运行总数计算余额
但是我不知道如何创建一个“运行总计”列?也许我不明白,或者你的问题不够清楚。这不是用一个更精确的和函数来解决的吗 例:
此外,如果您使用的是SQL 2012,则运行的总计查询效率更高。不确定余额BoughtForward应该如何操作,尽管也有输入错误。我可以假设列余额在任何给定时间只有一行不是空的吗?查找Running Total并检查@billinkc链接的答案
select user_id, (sum(credit) - sum(debit)) balance
from table
where
some condition
group by
user_id