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

时间:2018-10-23 06:57:37

标签: sql postgresql grafana

我想用我们的用户数据库(PostgreSQL)创建一个Grafana面板。 HBO硅谷的这一景象已经完美地描述了它。

enter image description here

但是我不知道如何使“历史计数”起作用。

我的大致想法是:

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

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

我将感谢您的每一个助手建议!

1 个答案:

答案 0 :(得分:1)

我找到了一个很好的解决方案,该解决方案与Grafana一起使用非常好。

要查找的正确术语是(计算累计总数),并且使用了 window函数。 (请参见此处:Count cumulative total in 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;

结果看起来很完美!

Grafana Count cumulative total