InfluxDB新手求助:按zone字段分组统计Count的查询问题
InfluxDB新手查询:按区域统计数据条目数
原始数据集
name: alarms tags: zone= time pm25 zone ---- ---- ---- 1665700728192388743 25.5 Parc de la Mar 1665733725298955656 90.75 Cas català 1665734932943043258 84.47 La Gruta 1665735530037537407 29.7 La Gruta 1665830578843393483 25.3 Parc de la Mar 1665831178926601460 29.2 Parc de la Mar 1665831778772372368 25.8 Parc de la Mar
期望的统计结果
需要统计每个区域的数据条目数,输出格式如下:
time count distinct ---- ----- -------- 0 1 Parc de la Mar 0 1 Cas català 0 2 La Gruta 0 3 Parc de la Mar
尝试过的无效查询
SELECT count(distinct(zone)) FROM "alarms" GROUP BY "zone" SELECT distinct("zone") FROM (SELECT count(zone) FROM "alarms" GROUP BY "zone" )
正确的查询语句
你要的其实是按zone分组,统计每个分组里的行数,对应的InfluxQL查询是:
SELECT COUNT(*) AS "count", "zone" AS "distinct" FROM "alarms" GROUP BY "zone"
简单说明:
COUNT(*)用来统计每个区域下的总数据条数,用AS "count"把结果列名改成你要的count"zone" AS "distinct"把分组字段zone的列名改成distinct,匹配你期望的输出GROUP BY "zone"指定按区域分组统计
执行这个查询后,就能得到和你预期一致的结果(time列显示0是InfluxDB在无时间维度分组时的默认值)。
内容的提问来源于stack exchange,提问作者Carlos Orts
相关产品推荐
相关产品推荐

