将运行总计添加到选定行数据的最佳方法是什么?

时间:2019-02-07 03:45:42

标签: ruby-on-rails postgresql

我有一个看起来像这样的表:

Created at    | Amount  | Register Name
--------------+---------+-----------------
01/01/2019... | -150.01 | Front
01/01/2019... |   38.10 | Back

将按日期递增的总计添加到每条记录(仅适用于该记录具有的寄存器名称)的最佳方法是什么?我可以在Ruby中执行此操作,但是由于它是Web应用程序,因此在数据库中执行操作会快得多。

该应用程序是运行Postgres 10的Rails应用程序,尽管答案当然可以与Rails无关。

1 个答案:

答案 0 :(得分:2)

使用集合mat_csc = csc_matrix((sparse_pd['value'].values*1., (sparse_pd['obs_id'].values,sparse_pd['var_id'].values)), shape=(obsmap_pd.shape[0],varmap_pd.shape[0])) 作为窗口函数,例如:

sum()