在PostgreSQL中计算百分比
我有一个这样的表,例如:
string admA 2
A 1
B 2
A 1
C 1
A 2
通过SQL查询,我想要这样的东西:
string perc_adm (%)A 50
B 100
C 0
我想要每个字符串中出现2的百分比。我可以在单独的条件下获得此信息,但我只需要一个条件。我也有一些除以零误差。在这种情况下,我该如何纠正?
回答:
尝试:
select string,
(cnt_2/total::float)*100 perc_adm
from (
select
string,
count(*) total,
sum(case when adm = 2 then 1 else 0 end) cnt_2
from tbl
group by string
) x
order by string
在这里,total::float
将除法转换为一个float
值,否则int/int ==>int
。
以上是 在PostgreSQL中计算百分比 的全部内容, 来源链接: utcz.com/qa/426444.html