我有一张category列的桌子。这些列是字符串类型的。
如何获取该类别记录总数的百分比?
到目前为止我所拥有的是
select category, count(1) from table group by category;
预期产量:

category | count | percent
cat_a       10       10
cat_b       80       80
cat_c       10       10

最佳答案

使用window functions

SELECT
category, COUNT(*) / SUM(COUNT(*)) OVER ()::REAL
FROM table t
GROUP BY 1

在postgresql中,可以同时使用窗口函数和聚合函数。
在join、where、group by&having子句之后计算窗口,可以有多个窗口。

关于sql - 获取具有特定类别的记录的百分比,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50575396/

10-16 13:46