我目前正在做数据推送,要求把每天0点的数据推送给下家,其格式大致如下。
目前的问题:数据质量较低,比如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