我得到一个只有3个记录的表,如:
Date Amt
02/04/2023 100
03/04/2023 102
06/04/2023 200
有没有什么方法可以像这样得到非空值填充空值:(从表中我们没有04/04和05/04,然后从03/04获得最接近的值)
Date Amt
02/04/2023 100
03/04/2023 102
04/04/2023 102
05/04/2023 102
06/04/2023 200
使用Oracle 19 c。
3条答案
按热度按时间ilmyapht1#
最简单的解决方案之一:
DBFiddle:https://dbfiddle.uk/-6zXTodR
sqyvllje2#
使用递归cte获取缺失的日期。
使用last_value ignore nulls获取最新的当前/前一个(非空)值。
https://dbfiddle.uk/bkxuhZFX
kzmpq1sx3#
其中一个选项可以是使用分析函数LAST_VALUE()来完成,数据集是用LEVEL ...准备的。通过填写缺失的日期连接: