程序员是真的猿 2021-07-16 11:18 采纳率: 0%
浏览 23

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

  • 写回答

1条回答 默认 最新

  • 夜郎king 2022博客之星IT其它领域TOP 12 2023-02-18 10:07
    关注

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

    评论

报告相同问题?

问题事件

  • 创建了问题 7月16日

悬赏问题

  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败