2013-01-04 96 views
2

在過去十年每小時交易價格的數據庫中,以下查詢將按天分組價格,生成日均價格,並返回數據庫中每一天的平均價格:僅獲得某個日期範圍內的平均值

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

但是,這將返回一個非常大的響應,我只需要得到過去7天的平均價格。我可以在這個查詢中添加什麼,僅對date列中給出的最近7天的數據進行平均?

回答

4

像這樣的東西應該工作:

Trade.where('date >= ?', 7.days.ago).average(:price, :group => "DATE_TRUNC('day', date)") 
+1

謝謝米沙!完美的作品。我一直試圖做一個小時,但用不正確的語法來鏈接它們。你有所作爲。歡呼:) – ac360

+0

不客氣。很高興工作! – Mischa

+0

@ ac360如果這回答了您的問題,請不要忘記[接受它](http://meta.stackexchange.com/a/5235/158402)。 –

相關問題