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值在所需的时间戳处可用