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函數並沒有真正的幫助,因爲我需要指定日期。
而且我不知道天如何
循環,看看是否有重複。
查看哪些日子丟失,並使用以前的餘額爲這些失蹤的每一天。