输入:clickhouse
表a业务数据(日期时间)金额(浮动)
我需要计算每项业务15分钟(或最后3条记录)的移动总和
例如
amount business_dttm moving sum
0.3 2018-11-19 13:00:00
0.3 2018-11-19 13:05:00
0.4 2018-11-19 13:10:00 1
0.5 2018-11-19 13:15:00 1.2
0.6 2018-11-19 13:15:00 1.5
0.7 2018-11-19 13:20:00 1.8
0.8 2018-11-19 13:25:00 2.1
0.9 2018-11-19 13:25:00 2.4
0.5 2018-11-19 13:30:00 2.2
不幸的是,我们在clickhouse中没有窗口函数和无条件连接
如果没有交叉连接和where条件,我怎么做呢?
1条答案
按热度按时间nwsw7zdq1#
如果窗口的大小很小,你可以这样做
前两行被忽略,因为clickhouse不会将聚合折叠为null。你可以稍后再做准备。
更新:
对于任意大小的窗口,仍然可以计算移动和。调整
window_size
如您所愿(本例中为3)。或者这个变种
公平地说,这两种方法都远不是最佳的,但它展示了clickhouse超越sql的独特功能。