我正试图计算出一个sql查询,以求出3到2位小数点的平均值。
SELECT RatingId, Productivity, CodeQuality, AgileProcess
, ROUND(AVG(Productivity + CodeQuality + AgileProcess) / 3, 2) AS Average
FROM DeveloperRating
GROUP BY RatingId, Productivity, CodeQuality, AgileProcess`生产力、CodeQuality、AgileProcess都是目前在DB中设置的值。
如果这些值设置如下:生产率=2 CodeQuality =8 AgileProcess =4
我得到了答案4。我希望答案是4.66?
有人能帮忙吗?
发布于 2015-11-26 18:53:11
这里不需要使用聚合函数!您正在对表中的每一行进行分组。除此之外,您可能需要将您的值转换为DOUBLE来获得所需的内容。
尝试:
select ratingId, productivity, codeQuality, agileProcess
, round(cast(productivity as double) +
cast(codeQuality as double) +
cast(agileProcess as double) / 3,2)
from developerRatinghttps://stackoverflow.com/questions/33945308
复制相似问题