如何在Influxdb中的字符串字段上使用TOP()?

时间:2017-02-20 16:54:45

标签: influxdb

鉴于' location'是一个名为places的Influxdb存储桶中的字符串字段,其数据类似于以下内容:

time                | location
--------------------+----------
1477568542209000000 | London
1477568542409000000 | Essex
1477568542569000000 | London
1477568542589000000 | Sussex
1477568542600000000 | Sussex
1477568542940000000 | London

我如何汇总那些以最常见的方式排序 - 最不常见,每个都有计数?我期望得到像这样的东西:

location | count
---------+-------
London   | 3
Sussex   | 2
Essex    | 1

我的第一个想法是使用SELECT TOP(location, 10) FROM places,但这不适用于字段上的字符串。我还缺少一种替代方法吗?

1 个答案:

答案 0 :(得分:0)

不幸的是,我无法想到在不修改架构的情况下实现此类结果的好方法。即便如此,答案也不是特别好

如果您将架构修改为类似

places,location=London x=1i <timestamp>

然后您可以运行以下查询

SELECT count(x) INTO places_count FROM places GROUP BY location
SELECT top("count",10), location FROM places_count

或者,您可以保留所拥有的架构并将Kapacitor引入混合。