11653


全モデルの中での偏差値を求めたく、現在は全件取得してきて自分で実装した方法で特定のカラムの値からその偏差値を求めているのですが、これをPostgresqlの機能で行うことはできますか？

例えば `price`というカラムを持つモデル`Company`があるとき、`deviation_of_price`というカラムに偏差値を保存しています。

Postgresqlのマニュアルに該当する関数が用意されてるようなのですが具体的にどう呼び出せばよいかわかりませんでした。  
<https://www.postgresql.jp/document/8.2/html/functions-aggregate.html>

[英語版Stackoverflowの記述](https://stackoverflow.com/questions/15618053/how-to-
group-by-last-20-days-and-do-an-aggregate-
function)を参考に書いてみましたが、`nil`が返ってくるだけです。

[code]

    Company.select('stddev_pop(price) as stddev')
      Company Load (6.6ms)  SELECT stddev_pop(price) as stddev FROM "companies"
    => [#<Company:0x007fdc7d27ed48 id: nil>]
    
[/code]

どのようにかけばRailsからPostgresqlの機能で偏差値を求めることが出来るのでしょうか？


CC BY-SA 3.0
2015-06-23T14:18:18.743
11649
2015-06-23T16:15:04.527
2017-05-23T12:38:55.250
-1
3271
question
ruby-on-rails postgresql
Rails経由でPostgresqlの機能を使って偏差値を求める


おそらくなにかの数値が返ってきてると思います。  
確認してみてください。

[code]

    company = Company.select('stddev_pop(price) as stddev')
    p company.stddev
    
[/code]

ActiveRecordでは集計関数を使った場合、idがnilのオブジェクトが返ってきます.


CC BY-SA 3.0
2015-06-23T16:15:04.527
11653
2015-06-23T16:15:04.527
199
11649
answer