【无标题】

查 influxdb 数据库,通过flux 的window()函数分组,获取精确时间戳

q_windows = from(bucket: "ins_8k")
  |> range(start: 2022-08-01T00:00:00Z, stop: 2023-08-11T00:00:00Z)
  |> filter(fn: (r) => r._measurement == "ins_8k_his_vib")
  |> filter(fn: (r) => r.pid == "2308030656501850003")
  |> filter(fn: (r) => r._field == "one_freq_x")
  |> filter(fn: (r) => r.datatype == "0" or r.datatype == "1")
  |> drop(columns: ["datatype"])
  |> window(every: 6h)
  |> sort(columns: ["_time"], desc:false)
  |> last()

q_min = q_windows
|> min()
|> rename(columns: {_value: "min_value"})
q_max = q_windows
|> max()
|> rename(columns: {_value: "max_value"})
q_last = q_windows
|> last()
|> rename(columns: {_value: "last_value"})

t1=join(tables: {max: q_max, last: q_last}, on: ["_start", "_field", "_measurement", "pid"])
|> sort(columns: ["_time"], desc: false)
|> keep(fn: (column) => column =~ /_time_last|last_value|max_value|_measurement|pid/)
t2=join(tables: {min: q_min, last: q_last}, on: ["_start", "_field", "_measurement", "pid"])
|> sort(columns: ["_time"], desc: false)
|> keep(fn: (column) => column =~ /_time_last|last_value|min_value|_measurement|pid/)
join(tables: {r1: t1, r2: t2}, on: ["_time_last","last_value", "_measurement", "pid"])
|> sort(columns: ["_time_last"], desc: false)
|> keep(fn: (column) => column =~ /_time_last|last_value|min_value|max_value|_measurement|pid/)
|> rename(columns: {_time_last: "time",last_value: "last_one_freq_x",min_value: "min_one_freq_x",max_value: "max_one_freq_x"})
|> yield()


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值