gpt4 book ai didi

postgresql - Last Observation Carried Forward (LOCF) 是否在 PostgreSQL 中实现?

转载 作者:行者123 更新时间:2023-11-29 13:01:52 24 4
gpt4 key购买 nike

在PostgreSQL中是否实现了数据插补方法Last Observation Carried Forward (LOCF)?
如果没有,我该如何实现这个方法?

最佳答案

下面的代码假定一个表 tbl 包含列 ab(键)、t(时间) 和 v(locf 估算值):

create or replace function locf_s(a float, b float)
returns float
language sql
as '
select coalesce(b, a)
';

drop aggregate if exists locf(float);
CREATE AGGREGATE locf(FLOAT) (
SFUNC = locf_s,
STYPE = FLOAT
);

select a,b,t,v,
locf(v) over (PARTITION by a,b ORDER by t) as v_locf
from tbl
order by a,b,t
;

( SQLFiddle )


教程:"LOCF and Linear Imputation with PostgreSQL"

关于postgresql - Last Observation Carried Forward (LOCF) 是否在 PostgreSQL 中实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27387300/

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