【发布时间】:2020-04-19 14:36:50
【问题描述】:
我正在尝试这样的事情:
select sum(R_Value) ,((5/cast(sum(R_Value) as int)) * 100.000000000)
from R_Rating
where R_B_Id = 135
但我一直得到值 0,sum(R_Value) = 6,所以我只想要 (5/sum(R_Value)) * 100 的百分比。
我怎样才能得到这个?
我的评分为 5,因此每个用户都有一个评分,他们可以从 1 到 5 中进行选择,所以我需要一个公式来计算总和并考虑有多少用户评分并给我们一个结果最后从1到5
这样的方法可能有效,但我需要四舍五入到小数点后一位才能得到一个整数。
select sum(R_Value), ((count(*)/cast(sum(R_Value) as float)) * 10)
from R_Rating
where R_B_Id = 135
【问题讨论】:
-
预期结果是什么?我想您可能想乘乘以 5 并 除 乘以 100,但是对于粗略的描述并不清楚。
-
一个 INT 除以一个 INT 返回一个 INT ... 例如 Select 5/10 返回 0。但是 Select 5/10.0 返回 0.5000
-
更新了请看一下
标签: sql sql-server