【发布时间】:2022-01-19 14:32:24
【问题描述】:
我正在尝试构建一个 Grafana 仪表板来了解我的 PostgreSQL 服务器处理了哪些 SQL 查询。我正在使用pg_stats_statements extension。
这是我目前的查询:
SELECT
query,
calls,
FROM pg_stat_statements
ORDER BY calls DESC limit 3;
这让我得到了这些结果:
query | calls
---------+--------
Query 1 | 500000
Query 2 | 250000
Query 3 | 250000
现在,除了calls 之外,我还想选择一个附加值,以查看每个calls 值与sum(calls) 在所有行上的份额。这是预期的输出:
query | calls | share
---------+--------+------ # 1 000 000 total calls
Query 1 | 500000 | 0.5 # 500 000 / 1 000 000
Query 2 | 250000 | 0.25 # 250 000 / 1 000 000
Query 3 | 250000 | 0.25 # 250 000 / 1 000 000
是否可以这样做,如果可以,如何重写我的查询以获得此输出?
【问题讨论】:
标签: sql postgresql