相关疑难解决方法(0)

使用 Postgres 继承缺失值的长序列

我有一张这样的表:

create table foo (foo_label text, foo_price int, foo_date date);

insert into foo (
          values
          ('aaa', 100,  '2017-01-01'),
          ('aaa', NULL, '2017-02-01'),
          ('aaa', NULL, '2017-03-01'),
          ('aaa', NULL, '2017-04-01'),
          ('aaa', 140,  '2017-05-01'),
          ('aaa', NULL, '2017-06-01'),
          ('aaa', 180,  '2017-07-01')
        );
Run Code Online (Sandbox Code Playgroud)

如您所见,foo_price列上的一些值丢失了。

我需要的是缺失值以这种方式用“前一个”可用值填充:

 foo_label | fixed_foo_price | foo_date
-----------+-----------------+------------
 aaa       | 100             | 2017-01-01
 aaa       | 100             | 2017-02-01
 aaa       | 100             | 2017-03-01
 aaa       | 100             | 2017-04-01
 aaa       | 140             | 2017-05-01
 aaa       | 140             | 2017-06-01
 aaa       | 180 …
Run Code Online (Sandbox Code Playgroud)

postgresql null count window-functions gaps-and-islands

5
推荐指数
1
解决办法
2225
查看次数