这是查询:
select ( SELECT COUNT(*) FROM Sending s WHERE (ConfID = 1) AND (Status = 1) ) / ( ( SELECT COUNT(*) FROM Numbers WHERE (ConfID = 1) ) / 100 )
我想计算百分比.例如,如果查询
SELECT COUNT(*) FROM Numbers WHERE (ConfID = 1)
给出100和另一个
SELECT COUNT(*) FROM Sending s WHERE (ConfID = 1) AND (Status = 1)
结果50结果查询应该返回50,这意味着50%.但是第一个查询结果是2和第二个返回10000结果查询返回0.我想我应该定义以某种方式返回浮点数等.
谢谢!
解决方法
尝试除以100.0而不是100.这将强制转换为浮点数据类型:
select ( SELECT COUNT(*) FROM Sending s WHERE (ConfID = 1) AND (Status = 1) ) / ( ( SELECT COUNT(*) FROM Numbers WHERE (ConfID = 1) ) / 100.0 )