Influxdb 如何规范XDB中的时间序列?

Influxdb 如何规范XDB中的时间序列?,influxdb,influxql,Influxdb,Influxql,目标是创建基于时间帧的第一个值标准化的时间序列。例如,我们有一个系列 time | value ------------------------------ 2020-07-13T00:00:00Z | 2 2020-07-14T00:00:00Z | 4 2020-07-15T00:00:00Z | 3 并且想要得到结果 time | value ------------------------------ 2020-07-13

目标是创建基于时间帧的第一个值标准化的时间序列。例如,我们有一个系列

time                 | value
------------------------------
2020-07-13T00:00:00Z | 2
2020-07-14T00:00:00Z | 4
2020-07-15T00:00:00Z | 3
并且想要得到结果

time                 | value
------------------------------
2020-07-13T00:00:00Z | 1
2020-07-14T00:00:00Z | 2
2020-07-15T00:00:00Z | 1.5
我尝试了以下查询:

select“value”/first\u value from(从“数据库”“自动生成”“测量”中选择“value”),(从“数据库”“自动生成”“测量”中选择first(“value”)作为first\u value)

但它会产生空的时间序列


有人能告诉我错误在哪里吗?

可以通过在查询末尾添加
fill(previous)
来实现所需的结果,即

select "value" / first_value from (select "value" from "database"."autogen"."measurement"), (select first("value") as first_value from "database"."autogen"."measurement") fill(previous)
…这将提供以下输出:

name: measurement
time                 value_first_value
----                 -----------------
2020-07-13T00:00:00Z 
2020-07-13T00:00:00Z 1
2020-07-14T00:00:00Z 2
2020-07-15T00:00:00Z 1.5
似乎要进行
“value”/first\u value
计算,两个字段中的值必须存在于同一时间戳。由于子查询的结果
选择第一个(“值”)作为“数据库”中的第一个值。“自动生成”,“测量”
在特定时间戳处提供单个值,因此不满足要求。但是,
fill(previous)
使
first\u值在所需的时间戳处可用