我有一个 Influx DB,其中包含一个数据库
database1
,其中包含一个测量值 positions
,如下所示:
time serie machine position
------------- ----------- ----------- ----------
1645494054000000000 0 uther 59
1645494055000000000 0 lascr 58
1645494056000000000 1 lascr 46
position
是我的领域,我有两个标签serie
和machine
。
如何在给定时间间隔内检索标签
serie
的所有不同值?
在这里,我希望输入时间 [0]
和 1645494054000000000
(下限和上限)的输出为 1645494055000000000
,输入时间 [0, 1]
和 1645494054000000000
的输出为 1645494056000000000
。
我尝试过使用
SHOW TAG VALUES
,但它只能过滤其他标签值,而不是按时间过滤。
我目前找到的唯一解决方案是使用这样的子查询:
SELECT DISTINCT("serie") FROM (SELECT position,serie FROM positions WHERE time >= 1645494054000000000 AND time <= 1645494056000000000)
要得到这个:
name: positions
time distinct
---- --------
0 0
0 1
这就是我想要的,但似乎过于复杂。
我找到的唯一答案实际上是我的问题中提到的:
SELECT DISTINCT("serie") FROM (SELECT position,serie FROM positions WHERE time >= 1645494054000000000 AND time <= 1645494056000000000)