SQLServerAVGの計算に奇妙な動作が見られます。
手動で計算すると、次のようになります49.277588
が、SQLServerは平均が次のようになっていると報告してい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での加重平均計算の結果です