我在 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 中加权平均计算的结果