我正在使用 SQL Server 2008,我的要求之一是计算总体标准差。SQL Server 提供了相同的内置函数stdevp
。我正在使用它,但我对我得到的结果感到困惑。一组相同数字的总体标准偏差应该为零,但在这里我得到了一些不同的值,尽管值很小。
drop table guest.tempTable;
create table guest.tempTable (column1 varchar , column2 decimal(10,6))
insert into guest.tempTable values('a',3578.2700);
insert into guest.tempTable values('a',3578.2700);
insert into guest.tempTable values('a',3578.2700);
insert into guest.tempTable values('a',3578.2700);
insert into guest.tempTable values('a',3578.2700);
commit;
以下是 stdevp 查询:
select stdevp(column2) from guest.tempTable
group by column1
我得到的结果是
------------------------
5.459150335692846E-5
应该是 0.00。
的文档stdevp
说它返回一个浮点数。所以我猜这一定是一个四舍五入的问题,但我无法找到解决方案。