2

過去10年間の時間単位の取引価格のデータベースでは、次のクエリにより、価格が日ごとにグループ化され、1日の平均価格が生成され、DBに毎日の平均価格が返されます。

Trade.average(:price, :group => "DATE_TRUNC('day', date)")

しかし、これは非常に大きな応答を返すことになり、過去7日間の平均価格を取得するだけで済みます。このクエリに何を追加して、列に示されている過去7日間のデータの平均化のみを実行できdateますか?

4

1 に答える 1

4

このようなものが機能するはずです:

Trade.where('date >= ?', 7.days.ago).average(:price, :group => "DATE_TRUNC('day', date)")
于 2013-01-04T01:34:16.497 に答える