小编典典

AVG()在SQL Server中不正确

sql

我正在尝试Avg()使用SQL Server Management Studio 2008为带条件的列计算for。当我AVG(column- name)在SQL查询中尝试时,它为我提供了一个四舍五入的值,而不是十进制值。

当我将数据集复制到MS Excel中时,在SQL中我得到的准确值是4位小数(例如:10.74),我得到的只有10位。任何帮助将不胜感激。

我的查询:

SELECT Item, AVG(POOrdrQty) 
FROM [tableWR] 
where Item ='737' AND POOrdrQty <((select AVG([POOrdrQty]) FROM [tableWR]) * 2) 
group by Item

阅读 262

收藏
2021-05-16

共1个答案

小编典典

avg聚合的结果类型与用作参数的值的类型相同。如果该字段为int,则结果将四舍五入以适合该类型。

强制转换您用作参数的值:avg(cast(column-name as float))

2021-05-16