【发布时间】:2021-11-12 06:31:59
【问题描述】:
我有一张桌子:
id value
a1. 7
a2. 89
a3. None
a4. None
我想获取列值中无值的百分比。 I don't need percentages of other values in that column, only None values.怎么办?
【问题讨论】:
我有一张桌子:
id value
a1. 7
a2. 89
a3. None
a4. None
我想获取列值中无值的百分比。 I don't need percentages of other values in that column, only None values.怎么办?
【问题讨论】:
select sum(value='None')*100/count(*) from a_table
【讨论】:
我建议avg():
select avg(case when value = 'none' then 1.0 else 0 end) as none_ratio
from t
【讨论】:
你可以使用count_if:
WITH dataset(id,value) AS ( VALUES ('a1.','7'), ('a2.','89'), ('a3.','None'), ('a4.','None') )
SELECT count_if(value = 'None') * 1.0/count(*)
FROM dataset
输出:
| _col0 |
|---|
| 0.5 |
【讨论】: