gpt4 book ai didi

postgresql - RANGE PRECEDING 仅支持 UNBOUNDED

转载 作者:行者123 更新时间:2023-11-29 11:41:36 26 4
gpt4 key购买 nike

我想在一个时间窗口内尝试 avg() 聚合代码

select
user_id,timestamp
avg(y) over(range between '5 second' preceding and '5 second' following),
from A

但是系统报错

RANGE PRECEDING is only supported with UNBOUNDED

是否有任何方法可以为 avg() 窗口函数实现一个 10 秒的窗口?

窗口函数的帧范围从当前行时间戳前n秒到当前行时间戳后m秒范围内

最佳答案

 RANGE PRECEDING is only supported with UNBOUNDED

是的……PostgreSQL 的窗口函数还没有实现范围。

我曾遇到过很多它们可能有用的情况,但实现它们需要大量工作,而且时间有限。

Is there any method to implement, say, a 10 second window for avg() window function?

您将需要在 generate_series 上使用左连接(如果合适的话,聚合)将范围转换为规则的行序列,在没有数据的地方插入空行,并组合多个从一秒内的数据到有多个值的单个值。

然后您对左连接和聚合数据执行一个(ROWS n PRECEDING ...) 窗口以获得运行平均值。

关于postgresql - RANGE PRECEDING 仅支持 UNBOUNDED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26791167/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com