Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server中的AVG()不准确_Sql_Sql Server_Average - Fatal编程技术网

SQL Server中的AVG()不准确

SQL Server中的AVG()不准确,sql,sql-server,average,Sql,Sql Server,Average,我正在尝试使用SQLServerManagementStudio 2008计算具有where条件的列的平均值。当我在SQL查询中尝试AVGcolumn名称时,它会给我一个四舍五入的值,而不是十进制值 当我将数据集复制到MS Excel中时,我得到了精确的值,带有4个小数点示例:在SQL中,我得到的是10.74。感谢您的帮助 我的问题是: SELECT Item, AVG(POOrdrQty) FROM [tableWR] where Item ='737' AND POOrdrQty <

我正在尝试使用SQLServerManagementStudio 2008计算具有where条件的列的平均值。当我在SQL查询中尝试AVGcolumn名称时,它会给我一个四舍五入的值,而不是十进制值

当我将数据集复制到MS Excel中时,我得到了精确的值,带有4个小数点示例:在SQL中,我得到的是10.74。感谢您的帮助

我的问题是:

SELECT Item, AVG(POOrdrQty) 
FROM [tableWR] 
where Item ='737' AND POOrdrQty <((select AVG([POOrdrQty]) FROM [tableWR]) * 2) 
group by Item
avg聚合的结果类型与用作参数的值的类型相同。如果字段为int,则结果将四舍五入以适合该类型


将用作参数的值强制转换为:avgcastcolumn name as float。

avgcolumn_name*1.0要将数据类型转换为float

请向我们显示您的查询、数据、输出和所需的输出。请从[tableWR]中选择项AVGPOOrdrQty如果Item='737'和POOrdrQty Item No列名737 827,将来请将该信息添加到您的问题中。这一次我帮你做了。你的数据库字段是什么数据类型?谢谢,这就是我要找的。我花了半个小时才找到这个。谢谢