2

在具有过去十年每小时交易价格的数据库中,以下查询将按天对价格进行分组,生成每日平均价格,并在数据库中返回每天的平均价格:

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

但是,这将返回一个过大的响应,我只需要获得过去 7 天的平均价格。我可以在此查询中添加什么以仅对date列中给出的最后 7 天数据执行平均?

4

1 回答 1

4

像这样的东西应该工作:

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