gpt4 book ai didi

sql - 在单个查询中计算加权平均值

转载 作者:行者123 更新时间:2023-12-04 13:16:26 25 4
gpt4 key购买 nike

示例数据:

table A
part rating numReviews
A308 100 7
A308 98 89

我正在尝试获得上述数据的平均评分。

它需要的是 rating的总和* numReviews每行除以总数 numReviews
这就是我正在尝试的,但它给出了不正确的结果(49.07,应该是 98.15):
select part, 
cast((AVG(rating*numReviews)/sum(numReviews)) as decimal(8,2)) as rating_average
from A group by part order by part

这可以在单个查询中完成吗?我正在使用 SQL Server

最佳答案

回到加权平均的定义,所以使用 sum() s 和除法:

select part, sum(rating * numreviews) / sum(numreviews) as rating_average
from a
group by part
order by part;

如果您愿意,可以将其转换为小数:
select part,
cast(sum(rating * numreviews) / sum(numreviews) as decimal(8, 2)) as rating_average
from a
group by part
order by part;

关于sql - 在单个查询中计算加权平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26234311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com