0
我有每个用户的日期列和余额列。每次用户进行事务处理时,都会将新行添加到此表中。可能是用户在一天中进行了15笔交易,并且在5天内完全没有交易。比较日期,计算它们之间的差异,postgres
赞一个
date balance
2017-06-01 95.63
2017-06-01 97.13
2017-06-01 72.14
2017-06-06 45.04
2017-06-08 20.04
2017-06-09 10.63
2017-06-09 -29.37
2017-06-09 -51.35
2017-06-13 -107.55
2017-06-13 -101.35
2017-06-15 -157.55
2017-06-16 -159.55
2017-06-17 -161.55
的目标是选择在同一天做出的正面和负面的交易,计算它们的平均值或最小值,并认为这是一个transaction.If第二天无成交已经制定,那么应该使用前一天的金额。
这意味着在一个月中的每一天我应该计算一个利息,它的余额尚未更新,那么应该使用前一天的余额。 可以想像我的表看起来应该像
date balance
1/6/2017 72.14
6/2/2017 72.14
6/3/2017 72.14
6/4/2017 72.14
6/5/2017 72.14
6/6/2017 45.04
7/6/2017 45.04
8/6/2017 20.04
9/6/2017 -51.35
10/6/2017 -51.35
11/6/2017 -51.35
12/6/2017 -51.35
13/06/2017 -107.55
14/06/2017 -107.55
15/06/2017 -157.55
16/06/2017 -159.55
17/06/2017 -161.55
我也补充说,失踪和组是重复的日子那些日子。
一旦完成此操作,我可以选择正余额天数,例如, 8天,计算平均正余额,并乘以0.4%。
8*58.8525*0.004=0.23
负平衡也应该这样做。但具有负余额日的不同利率,例如, 9乘以当时的平均负平衡和8.49%。
9*-99.90555556*0.00849=-0.848
所以我预期的结果就是有这两列
Neg Pos
-0.848 0.23
我怎样才能做到这在Postgres的? OVERLAP函数并没有真正的帮助,因为我需要指定日期。
而且我不知道天如何
循环,看看是否有重复。
查看哪些日子丢失,并使用以前的余额为这些失踪的每一天。