select id,名称,分数1,分数2,分数3,分数4
,平均分=(分数1+分数2+分数3+分数4+0.0)
/(case when 分数1>0 then 1 else 0 end
+case when 分数2>0 then 1 else 0 end
+case when 分数3>0 then 1 else 0 end
+case when 分数4>0 then 1 else 0 end)
from 表
select id,名称,分数1,分数2,分数3,分数4,(分数1+分数2+分数3+分数4)/((case when 分数1>0 then 1 else 0 end)+(case when 分数2>0 then 1 else 0 end)+(case when 分数3>0 then 1 else 0 end)+(case when 分数4>0 then 1 else 0 end)) 平均分数 from 表