我有一个流入数据库,它为我提供了一系列初始值为空的
time | value |
----------------------
07/19/2019 | | --null value
----------------------
07/20/2019 | | --null value
----------------------
07/21/2019 | 5 | - value available
----------------------
07/22/2019 | 5 | --null value, but fill from previous
----------------------
07/23/2019 | 6 |-- new value available
使用的查询是
`SELECT "time", first("value") as "value" FROM "db" WHERE "identifier"='identifier' and time > '2019-07-05T00:00:00Z' GROUP BY time(1d) FILL(previous)`
如果结果中有空值,我想执行另一个查询。子查询(或另一个函数/值)应该是具有不同期间的查询的结果。像
这样的查询 SELECT "time", last( "value") FROM "db" WHERE "identifier"='identifier' and time < '2019-07-05T00:00:00Z'
将产生一个单一值(如“ 10”),该值用于填充原始系列中的初始空值。一旦主系列中有一个值,“上一个”选项将填充下一个空值。
因此,需要以下输出。
time | value |
----------------------
07/19/2019 | 10 | --data from sub query
----------------------
07/20/2019 | 10 | --data from sub query
----------------------
07/21/2019 | 5 | - first time value available
----------------------
07/22/2019 | 5 | --null value, but fill from previous
----------------------
07/23/2019 | 6 | -- new value available
是否可以通过子查询或其他任何选项来实现相同目的?