我似乎无法弄清楚这一点。我正在尝试获取过去 20 天的列的标准偏差。这是我所拥有的
Model.where('date < ?','2013-03-25')
.group('date')
.order('date DESC')
.limit(20)
.select('stddev_samp(percent_change) as stdev')
然而,我得到的只是 20 个 Nil 条目。我期待 1 个标准偏差条目。
将 stddev_samp 切换为 sum 后,我看到我得到了 nil,因为您不能在 1 个条目上获得标准偏差。即它没有像我预期的那样对 20 进行分组,而是计算每个日期的标准偏差。
所以我的问题是,我如何获得过去 20 天的 stddev?我知道可以简单地选择select percent_change
然后计算 ruby 中的标准偏差,但我认为聚合函数 stddev_samp 在这种情况下应该是可用的。
我正在使用 rails 3.2 和 Postgresql 9.2