我想用我们的用户数据库(PostgreSQL)创建一个Grafana面板。 HBO硅谷的这一景象已经完美地描述了它。
但是我不知道如何使“历史计数”起作用。
我的大致想法是:
SELECT
created as time,
count(*)
FROM
user
WHERE
created BETWEEN "FIXED START DATE" AND created
ORDER BY
created
ASC
但是我遇到问题,由于聚合函数,我必须添加GROUP BY子句。这似乎是合法的。但是,如何对现有实体的“历史”到图表位置的时间进行汇总?
我将感谢您的每一个助手建议!
答案 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;
结果看起来很完美!