铸造计数不起作用

时间:2015-01-28 05:04:39

标签: sql sql-server sql-server-2008

declare @var1 float
declare @var2 float

set @var1=sum(10)
set @var2=count(750)

select cast(@var1 as float) / cast(@var2 AS float)
上面的

查询返回值10,但正确答案应为0.0133。为什么铸件在这里不起作用?

我使用另一个查询的sum和count获取@ var1和@ var2值。这里10和750是虚拟值。

2 个答案:

答案 0 :(得分:2)

它正在按预期工作。单个值的count将为1

因此,10/1除以10

declare @var1 float
declare @var2 float

set @var1=sum(10)
set @var2=count(750) -- will return 1

select cast(@var1 as float) / cast(@var2 AS float) --10

如果您需要0.0133,请删除count

set @var1=sum(10)
set @var2=750 

select cast(@var1 as float) / cast(@var2 AS float) -- 0.01333

答案 1 :(得分:1)

因为count(750)1

count计算记录,而不是()

中的值