通过选择包含特定单词的行来确定百分比

Determine percentage by selecting rows that contains a specific word

我有以下数据:

Year  score count
2012 20 grade 2000
2005 20 grade 32
2005 40 grade 428 
2006 60 grade 731
2006 60 grade 472
...

我需要知道当分数为 60 级时,有多少百分比的分数会导致好分数。

我应该假定文本中出现的单词等级是单词等级(因此在本例中为 60 级)。 我的预期输出是基于计数的只有 60 级的行的百分比。

如何通过查看 Score 中 60 分的值并确定百分比来 select 此信息?

您可以尝试使用条件聚合

select count(*)
 , sum(case when score like '60%' then 1 else 0  end)  num_x_60
 , (sum(case when score like '60%' then 1 else 0 ) / count(*))*100 perc
from my_table  

我建议使用 avg() 作为百分比:

select avg(case when score like '60%' then 100.0 else 0 end) as percentage
from my_table