【问题标题】:How to delete all records in measurement except last record in InfluxDB?如何删除测量中的所有记录,除了 InfluxDB 中的最后一条记录?
【发布时间】:2020-02-27 07:11:04
【问题描述】:

我一整天都在寻找答案,发现 influxdb 不像 SQL 那样'''IN''''。 所以 influxdb 也可以这样做

DELETE  
FROM tablename 
WHERE column1 NOT IN (SELECT column1 FROM tablename order by column1 desc LIMIT 1 OFFSET 0)

我不知道。

【问题讨论】:

  • 标准 SQL 子选择在 InfluxDB 中不起作用。表和列也不存在(但测量和字段)。恕我直言,这里最好的选择是使用 LAST 选择器,这将为您提供最后一个数据点时间,然后可以在 DELETE 查询中使用。

标签: sql database influxdb


【解决方案1】:

InfluxQL 的一切可能都指定here。 InfluxQL 目前不支持 IN 运算符。

这是可以帮助您解决问题的方法之一:

  • 将最新记录复制到文件中
  • 从测量中删除记录
  • 从保存的文件中插入回测量值

编辑

正如评论中提到的@Nikolay Manolov,您可以找到最新记录的时间戳并删除比该记录更早的所有内容。

【讨论】:

  • 如何获取最新记录,获取时间戳,删除所有比这更早的内容?无需保存和重新插入记录。
  • @Nikolay 这比我在这里提到的还要好。写一个答案,我会删除我的答案
猜你喜欢
  • 2020-08-22
  • 1970-01-01
  • 2011-08-18
  • 2012-10-01
  • 2011-11-06
  • 1970-01-01
  • 2019-06-09
  • 1970-01-01
  • 2018-12-31
相关资源
最近更新 更多