SQLite选择SUM滚动窗口



我在SQLite中有这个表

Table [Ticks]
Fields: 2
[Value]: INT
[Time]: DATETIME

我想选择10小时值的窗口或分区,并对这些值求和,然后向前移动一行,对过去10小时的整个记录范围做同样的操作。

value字段包含-1或1

我怎样才能做到这一点?这是可能的窗口,分区查询?

您可以将time转换为秒,然后使用range():

select t.*,
sum(value) over (order by strftime('%s', time) + 0
range between 35999 preceding and current row
) as sum_10hours
from ticks t;

strftime()表达式将值转换为秒。距离当前行需要(106060 - 1)秒。

这是一把小提琴

相关内容

  • 没有找到相关文章

最新更新