grafana - 计算唯一标签值的总和
问题描述
有时似乎必须计算 InfluxDB 中唯一 TAG 值的总和。怎么做?
例如,我有多个下载软件的用户。现在我想提取有多少唯一用户下载了它。
解决方案
在 Grafana 中测试了以下查询以计算唯一用户,并考虑应用于数据库的时间过滤器。
为此,我们需要首先应用子查询来计算平均值,这基本上会产生一个为每个用户关联的值为 1 的表:
SELECT mean("count") FROM "autogen"."downloads" WHERE $timeFilter GROUP BY "username"
这里的count是一个整数值,用户每次下载软件时都等于 1。
在我们计算出这些平均值的总和之后,是的,如果您有一个庞大的数据库,这并不便宜,但仍然是一个可行的解决方案:
SELECT SUM(mean) FROM (
SELECT mean("count") FROM "autogen"."downloads" WHERE $timeFilter GROUP BY "username"
)
请继续并提出最佳性能/更原生的解决方案,这将很适合申请更大的数据库
推荐阅读
- html - 如果未定义高度,为什么 background-size contains 在 HTML 或 BODY 上不起作用,但 background-size cover 有效?
- c# - WPF 使用数据/设置 ItemsSource 填充 Datagrid 的 DataGridCheckBoxColumn
- reactjs - 添加公共路线和私人路线应用程序后无法正常工作
- excel - Excel VBA - 将排序顺序分配给变量
- java - Mockito - 返回 null
- arrays - 为什么打印指向 char 指针的指针的第一个元素会打印字符串的内容?
- .net - 错误:Microsoft.HostIntegration.SNA.Session.SessionException:基础 SNA 会话失败。应用程序必须释放会话
- django - Django queryset Product 模型和 Product_images 模型,TemplateSyntaxError
- jenkins - Jenkinsfile 基于条件的阶段触发
- typescript - 从有区别的联合派生 TypeScript 接口