每日余额报告

时间:2017-06-27 13:14:59

标签: sql sql-server scripting

我必须从SQL表中进行每日报告,其中包含ID(用户ID),时间戳,余额交易。

我的任务:每个交易都存储在表格中。我必须每天都知道所有用户的总结。

例如:

27/06/2016 8:10 User1 50$

27/06/2016 10:22 User1 75$

27/06/2016 11:32 User2 10$

28/06/2016 09:22 User3 40$

28/06/2016 17:35 User1 22$

在这种情况下,结果必须如下:

27/06/2016: 85$(75 + 10),因为上次用户1的余额为75,用户为10

28/06/2016: 72$(22 + 10 + 40),因为上次用户1的余额为22和用户2 10(昨天修改了但我必须算一算!!!)和user3 22 $

请帮忙。

由于

1 个答案:

答案 0 :(得分:0)

好的,新的解决方案......

确定每个用户每天的最后余额,并按天计算:

with CTE as
(
select t.*, 
       row_number() 
         over(partition by user, cast(t_date as date) order by t_date desc) as rn
from transactions t
)
select cast(t_date as date) as t_date, sum(amount) as total_amount
from CTE
where rn = 1
group by cast(t_date as date)