$stdDevSamp(样本标准差累加器)
最后更新:2026-10-09
$stdDevSamp(样本标准差累加器)
$stdDevSamp 是累加器,计算组内指定字段的样本标准差,分母为 N-1。适用于数据是总体抽样的情况,也是最常见的统计场景。忽略非数字值。与 $stdDevPop 的分母不同。
| 分类 | 累加器 |
|---|---|
| MongoDB 版本 | 3.2+ |
| 示例语言 | mongosh (Shell) |
📝 语法
{ $group: { _id: <键>, dev: { $stdDevSamp: "$字段" } } }
返回值:样本标准差数值(忽略非数字值)
▶ 示例
请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):
// $stdDevSamp:抽样数据的样本标准差
db.scores.aggregate([
{ $group: { _id: '$class', dev: { $stdDevSamp: '$score' } } }
])
运行结果:
{ "_id": "A", "dev": 13.02 }
📌 注意事项
- 样本标准差分母为 N-1
- 忽略 null 和非数字值
- 组内至少需要两个数值,否则返回 null
🏷️ 相关标签
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
Q样本标准差什么时候用?
A数据只是总体的一部分抽样时使用,如随机抽样的用户行为数据。
Q两个文档能算 $stdDevSamp 吗?
A组内至少需要两个数值文档,不足时返回 null。
Q$stdDevSamp 和 $stdDevPop 结果一样吗?
A数据量大时接近,小样本时差异明显。