窗口函数不支持 RANGE BETWEEN INTERVAL '10 minute'

我们业务中比较常见的时间范围窗口的需求实现不了.
比如 近30天 近7天 这类的指标 开窗时都需要用到时间范围的窗口 无法基于rows实现.
这个功能在许多数据库中都有实现 比如greenplum

sum(val) OVER (ORDER BY logtime RANGE BETWEEN INTERVAL '10 minute' PRECEDING AND '10 minute' FOLLOWING)

这个功能可不可以支持一下

前段时间刚刚有需要用窗口函数计算一个指标近7天的动态均值,完全没有问题的。关键的是如何通过partition by 子句 和 order by子句结合将数据表中的数据在窗口中按预定区间或步长聚合并排序, 那么rows子句就有选择空间了。
如题近10分钟内的聚合
window_end:yyyy-MM-dd HH:mm:ss
select substring(window_end,1,16) minu,pv,sum(pv) OVER(PARTITION BY substring(window_end,1,16) ORDER BY substring(window_end,1,16) rows between 10 PRECEDING and CURRENT ROW)
from tb

我们的场景不能这么做 我们order by 的值 可能缺少 也可能重复 用rows的话 数据就不对了

:joy: 重复还好说本身就可以聚合掉,缺少分钟的话这个写法是有问题