Postgres 获取两个计数的百分比

问题描述 投票:0回答:1

我有这样的疑问:

select 
id, 
count(*) as total, 
sum(case when code = 'UNK' then 1 else 0 end) as unk_count
from codes group by

我正在尝试添加另一列以表示“UNK”占总数的百分比。我该怎么做呢?

我被嵌套的 case 语句弄乱了,我认为必须有一种我无法弄清楚的更简单的方法

sql postgresql pgadmin
1个回答
0
投票

像这里一样尝试:

Select    Count(*) as cnt_all,
          Count( Case When code = 'UNK' Then 1 End ) as cnt_unk,
          Count( Case When code = 'UNK' Then 1 End ) * 100 / Count(*) as pct_unk
From      tbl
© www.soinside.com 2019 - 2024. All rights reserved.