当表仅包含一行时,StDev() 函数返回 Null
Posted
技术标签:
【中文标题】当表仅包含一行时,StDev() 函数返回 Null【英文标题】:StDev() function returns Null when table contains only one row 【发布时间】:2014-01-05 17:58:51 【问题描述】:我正在尝试使用 StDev 函数并得到空白结果。我将它用作...
SELECT StDev(fldMean) FROM myTable
其中 fldMean 包含 2.3 的值,应该评估为 0,但我只是得到一个空结果。我似乎无法理解如何在函数中使用表达式,微软的手册真的没有帮助。
【问题讨论】:
fldMean 的数据类型是什么?您的查询是正确的,或者类型有问题,或者如果只有 1 行,StDev 不起作用 [myTable] 有多少行? 这就是问题所在,将我的数据集缩小到只有一行的程度。 【参考方案1】:SELECT StDev(fldMean) FROM myTable
如果 [myTable] 只有一行,则将返回 Null
,因为无法从单个观察值计算标准偏差。您需要在该表中至少有两行才能收到有意义的结果。如果你想强制 Null
值为零,你可以使用
SELECT Nz(StDev(fldMean), 0) FROM myTable
【讨论】:
以上是关于当表仅包含一行时,StDev() 函数返回 Null的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server报错:选择列表中的列无效,因为该列没有包含在聚合函数或 GROUP BY 子句中
Python中 appendextendinsertadd 区别