小编Bru*_*omé的帖子

PostgreSQL 的窗口函数 IGNORE NULLS 解决方法

通过以下查询,我可以使用 LAG() 函数重复列的最后一个非空值c

SELECT coalesce(open_time, extract(EPOCH from date_trunc('minute', datetime)) * 1000)               open_time,
   coalesce(o, LAG(c) over w)                                                                          o,
   coalesce(h, LAG(c) over w)                                                                          h,
   coalesce(l, LAG(c) over w)                                                                          l,
   coalesce(c, LAG(c) over w)                                                                          c,
   coalesce(v, 0)                                                                                      v,
   coalesce(close_time, extract(EPOCH from date_trunc('minute', datetime)) * 1000 + ((60000 * 1) - 1)) close_time
from temporary_timeframe 
window w as (order by datetime);
Run Code Online (Sandbox Code Playgroud)

得到以下结果:

在此处输入图片说明

但是我需要c在当前列值为空时重复列的值。我看到如果 PostgreSQL 支持IGNORE NULLS窗口函数的属性,这将得到解决。如何解决这个没有IGNORE NULLS

postgresql window-functions

6
推荐指数
1
解决办法
5120
查看次数

标签 统计

postgresql ×1

window-functions ×1