postgresql:计算列高于某个值的行的百分比

d4so4syb  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(355)

假设我有一个值表:

+----+-------+
| Id | Value |
+----+-------+
| 1  |  2    |
| 2  |  9    |
| 3  |  5    |
| 4  |  5    |
| 5  |  8    |
| 6  |  1    |
+----+-------+

如何计算值高于给定阈值的行的百分比:
例如,阈值为“高于5”时,如何查询以获得以下内容:

+-------+------------------+
| Total | Percent above 5  |
+-------+------------------+
|   6   |     33.33        |
+-------+------------------+
nbnkbykc

nbnkbykc1#

使用条件聚合:

select count(*),
       avg( (value > 5)::int ) * 100 as percentage_above_5
from t;

相关问题