Sql 如何删除除XDB中最后一条记录之外的所有测量记录?
我找了一整天的答案,发现XDB并没有像SQL那个样“在”里面。 那么XDB能做什么呢Sql 如何删除除XDB中最后一条记录之外的所有测量记录?,sql,database,influxdb,Sql,Database,Influxdb,我找了一整天的答案,发现XDB并没有像SQL那个样“在”里面。 那么XDB能做什么呢 DELETE FROM tablename WHERE column1 NOT IN (SELECT column1 FROM tablename order by column1 desc LIMIT 1 OFFSET 0) 我不知道。指定了InfluxQL的所有可能功能。InfluxQL当前不支持IN运算符 这是可以帮助您解决问题的方法之一: 将最新记录复制到文件中 从测量中删除记录 从保存的文件
DELETE
FROM tablename
WHERE column1 NOT IN (SELECT column1 FROM tablename order by column1 desc LIMIT 1 OFFSET 0)
我不知道。指定了InfluxQL的所有可能功能。InfluxQL当前不支持IN运算符 这是可以帮助您解决问题的方法之一:
- 将最新记录复制到文件中
- 从测量中删除记录
- 从保存的文件重新插入测量值
如注释中所述,您可以找到最新记录的时间戳,并删除所有比该时间戳早的记录 标准SQL subselect在XDB中不起作用。表和列也不存在(但度量和字段除外)。最好的选择是使用LAST selector,它将为您提供最后的数据点时间,然后可以在删除查询中使用它。获取最新记录,获取时间戳,删除所有早于此的内容如何?不需要保存和重新插入记录。@Nikolay,这比我在这里提到的还要好。写一个答案,我将删除我的答案