求表中某列往下1-4行的和

如果我想把比如往下1-4行的四个值加起来的话,DolphinDB database中有什么函数可实现?

即想要如下图所示这样的效果。


attachments-2021-05-niwTl9dY609a187e0a968.png

请先 登录 后评论

2 个回答

Jason Tang - 时序数据库技术支持
a = table(1..100 as id)
select id,move(msum(id, 4),-3) from a
请先 登录 后评论
谭华

解决方法:

msum(X, window, [minPeriods])

在给定长度(以元素个数或时间长度衡量)的滑动窗口内计算 X 的元素和。

n = 100000
id = 1..n
flag = rand(100, n)
t = table(id, flag)
select
    id, move(msum(id, 4),-3)
from t

代码简化:

move(t.id.msum(4),-3)

性能分析

实施方案 :msum       耗时:5.42 ms

请先 登录 后评论