具有实体计数 + 历史记录的 Grafana 面板

Len*_*lom 2 sql postgresql grafana

我想使用我们的用户数据库 (PostgreSQL) 创建一个 Grafana 面板。HBO《硅谷》中的这一幕已经完美地描述了这一点。

在此输入图像描述

但我不知道如何让“历史计数”发挥作用。

我的粗略想法是这样的:

SELECT
    created as time,
    count(*)
FROM
    user
WHERE 
    created BETWEEN "FIXED START DATE" AND created
ORDER BY 
    created
ASC
Run Code Online (Sandbox Code Playgroud)

但我遇到问题,由于聚合函数,我必须添加 GROUP BY 子句。这似乎是合法的。但是,如何将现有实体的“历史”与图表位置的时间进行聚合呢?

我将感谢每一位助理的建议!

Len*_*lom 5

我找到了一个很好的解决方案,它与 Grafana 配合得很好。

要查找的正确术语是(计数累积总计),它使用窗口函数。(参见此处:统计 Postgresql 中的累计总数

SELECT $__time(created), sum(count(*)) OVER (ORDER BY created) as "Benutzeranzahl"
FROM (
    SELECT DISTINCT ON (email) created, email
    FROM user  ORDER BY email, created
) AS subq
GROUP BY created;
Run Code Online (Sandbox Code Playgroud)

结果看起来很完美!

Grafana Count 累计总数