【问题标题】:How to use TOP() on string fields in influxdb?如何在 influxdb 中的字符串字段上使用 TOP()?
【发布时间】:2017-02-20 16:54:44
【问题描述】:

鉴于“位置”是名为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,但这不适用于字段上的字符串。有没有我遗漏的替代方法?

【问题讨论】:

    标签: influxdb


    【解决方案1】:

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

    如果您将架构修改为类似

    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 引入组合中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-15
      • 2021-10-29
      • 2012-04-27
      • 2022-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多