我在SQL Server AVG计算中看到了一些奇怪的行为。
在手动计算时,您获得49.277588
但SQL Server报告的平均值为50.9914
如下图所示。
问题: 有人可以解释这种差异以及发生这种情况的原因吗?
您可以使用以下查询在AdventureWorks2008数据库上试用该查询
select C.ProductCategoryID, P.ProductSubcategoryID,
AVG(P.ListPrice) as 'Average',
MIN(P.ListPrice) as 'Miniumum',
MAX(P.ListPrice) as 'Maximum'
from Production.Product P
join Production.ProductSubcategory S
on S.ProductSubcategoryID = P.ProductSubcategoryID
join Production.ProductCategory C
on C.ProductCategoryID = S.ProductCategoryID
where P.ListPrice <> 0
group by C.ProductCategoryID, P.ProductSubcategoryID
with rollup
[更新]回答
以下是Excel中加权平均值计算的结果
答案 0 :(得分:4)
看起来你在Excel中平均做了一个平均值,这是一个糟糕的数学。
http://wiki.answers.com/Q/Is_an_average_of_averages_accurate