如何获取测量中的条目数

How to get the number of entries in a measurement

我是 influxdb 的新手。我刚开始阅读 influx 文档。

我似乎无法获得 'select count(*) from table' 的等价物在 influx 数据库中工作。

我有一个名为购物车的测量值:

time                status  cartid          
1456116106077429261 0       A
1456116106090573178 0       B
1456116106095765618 0       C
1456116106101532429 0       D

但是当我尝试做的时候

select count(cartid) from cart

我收到错误

ERR: statement must have at least one field in select clause

我想 cartId 是一个标签而不是一个字段值? count() 目前不能用于标签和时间列。因此,如果您的 status 是一个非标记列(一个字段),请计算它。

编辑:

Reference

只要不存在名称为 count:

的字段或标签,此方法就有效
SELECT SUM(count) FROM (SELECT *,count::INTEGER FROM MyMeasurement GROUP BY count FILL(1))

如果它确实为 count 字段使用其他名称。这通过首先 selecting 所有条目包括未填充的字段 (count) 然后按未填充的字段分组来工作,这除了允许我们使用填充运算符将 1 分配给每个条目对于 count。然后我们 select 超级查询中的计数字段的总和。结果应如下所示:

name: MyMeasurement
----------------
time    sum
0       47799

这有点老套,但这是保证 all 条目计数的唯一方法,当所有条目中始终存在的字段不存在时。