我正在尝试运行以下查询,以提供patients
表中具有该refinst
列值的行的百分比。我一直得到0的结果。
select (count (refinst) / (select count(*) from patients) * 100) as "Formula"
from patients;
该表有15556行,并select count(refinst) from patients
告诉我其中的1446 行在该refinst
列中有一个值。我想从查询中获得的响应为30.62(1446/15556*100=30.62XXXXX
,四舍五入为两位小数)。
我很确定它与计数结果的数据类型有关(我假设的是整数)。如果我将整数除以整数并且结果小于0,则将其截断为0正确吗?如果是这样,有人可以告诉我如何将计数结果转换为2位小数的数字,以便结果也将四舍五入到2位小数吗?
我敢肯定,与多个count语句相比,有一种更好的方法来编写此代码。我正在寻找一种更处理器有效的方法来特别编写此查询。