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 子句。这似乎是合法的。但是,如何将现有实体的“历史”与图表位置的时间进行聚合呢?
我将感谢每一位助理的建议!
我找到了一个很好的解决方案,它与 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)
结果看起来很完美!
| 归档时间: |
|
| 查看次数: |
1375 次 |
| 最近记录: |