我正在尝试为商品创建一个评分系统,并在表格上显示该商品的所有评分的平均值。我希望评级具有1个小数位。我想出了以下代码:
SELECT OvrRate.OvRating, *
FROM tbl1 LEFT JOIN
(SELECT Field1, ROUND(AVG(Rating),1) AS OvRating
FROM tbl_Review GROUP BY Field1) AS OvrRate
ON tbl1.Field1 = OvrRate.Field1;
到目前为止,我的代码可以显示1个小数位,但是当它应为5.3时,它显示5.0。所有评论都正确存储(我认为)。我对5.3进行了一次评论,这意味着平均值也应该为5.3,但是正如我上面所说的,它不是以这种方式查询的。
有任何解决办法吗?
MS Access对整数执行整数算术运算,因此您需要转换该值。我发现最简单的方法是乘以1.0:
SELECT OvrRate.OvRating, *
FROM tbl1 LEFT JOIN
(SELECT Field1, ROUND(AVG(Rating*1.0), 1) AS OvRating
FROM tbl_Review
GROUP BY Field1
) AS OvrRate
ON tbl1.Field1 = OvrRate.Field1;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句