sql - 如何在 SQL 中使用 Cast(count 和 case 语句)获取百分比
问题描述
选择演员((计数(当birthdayattendance ='yes'然后Student_ID为空结束时的不同情况)/count(不同的Student_ID))作为十进制(2,2))
from #tmpcombined.
Issue : last step which is percentage is returning as 0.00 instead 0.50. There are two students out of 4 whose who attended school on their birthday.
解决方案
一些数据库进行整数除法。为了防止这种情况,我只乘以 1.0:
select (count(distinct case when birthdayattendancek = 'yes' then Student_ID end) * 1.0 /
count(distinct Student_ID)
)
cast()
除法后的ing只是将结果转换为小数。