2016-03-30 11 views
0

Rails 4.2.5、PostgreSQL 9.4+クエリに結果として変数を追加する

私はDailyMetricテーブルを持っています。名前が示すように、各従業員に毎日の測定基準があります。週ごと、先週、月間などのさまざまな期間にこれらの指標を要約しようとしています。選択したレコードを取得したが、期間内のレコードを要約したいが、期間は外部変数をテーブルに追加します。そのままで、クエリ、次のとおりです。

records = DailyMetric. 
    where('metrics_date >= ? AND metrics_date <= ?', period.first, period.last). 
    select("associate_logon as logon, metrics_date as logon_date, 
    sum((metrics #>> '{\"Login\"}')::NUMERIC) as total_logons"). 
    group('associate_logon, metrics_date') 

結果が、今日のように、私は週が月曜日に始まり現在までの週の月曜日と火曜日のために、各アソシエイトのレコードを取得することです。 metrics_dateを使用するグループの代わりに、ピリオドを使用してグループ化したいと思います。

クエリを変更して目的の結果を得ることはできますか?そのようなサマリーを自分で外部的に実行する必要はありますか?必要に応じて外部要約を行うことができます。私は質問内でそれができるかどうかを知りたいと思う。

FWIWのように、ログインなどの統計情報はJSONBを使用してPostgreSQLに保存されます。

答えて

0

私はグループ句なしでクエリを書き直して自分自身を処理しています。結局、グループはちょうど私が必要としたことをするつもりはなかった。ありがとう。

関連する問題