PostgreSQL数据库补差(补缺失值)

我目前正在做数据推送,要求把每天0点的数据推送给下家,其格式大致如下。

img

目前的问题:数据质量较低,比如7月四号零点有数据,七月五号零点无数据,那么七月五号的数据就需要补插。

思路:我个人的思路是使用距离七月五号零点最近的数据进行替代。那么,如何实现?

因为我是使用etl软件kettle进行数据推送的,所以可能的话,能否提供一条select语句实现?

假设我原来的语句是:

select * from table
where date_part('hour',time)=0

显示:

            时标          水位       电压        电量      ........      
       2021-07-04 0:00   22.1       7.6        84%      ........
       2021-07-06 0:00   22.7       8.4        66%      ........
       .........       .......   .......      .......   ........

显然,缺少了7月5号的数据。但是提供给下家的数据,必须保证数据连续性。
我希望有一条查询语句能够实现:查询时如果发现某一天缺少数据,就自动选取最近的数据(单位时间内的平均值也行)插入
把查询结果变成这样:

             时标         水位        电压       电量      ........      
       2021-07-04 0:00   22.1       7.6        84%      ........
       2021-07-05 0:00   22.7       8.4        66%      ........
       2021-07-06 0:00   22.7       8.4        66%      ........
          .........     .......   .......     .......   ........

望提供一条查询语句,并简单解释,thank

一条语句实现,恐怕有点难。需要结合一些业务来实现。