0
我有一個方法工作得很好(使用rails 3和PostgreSQL);我只是想知道是否有可能使其數據庫無關:ActiveRecord聚合函數:是否有一個數據庫不可知的'EXTRACT(WEEK from date)'?
FarmGatePrice.average :price, :group => 'EXTRACT(WEEK FROM date)'
據我瞭解,方法來提取日期一週ISO數值總是特定的數據庫。
我可以使用類似虛擬屬性:本週所看到here,但似乎:組選項只接受原始的SQL。我也看過this solution,但它不符合我的需求。 另一種方法是使用數據庫視圖,甚至可以添加一個由回調方法填充的周列:但我不希望混淆我的模式。
那麼,任何線索?
對不起,但是當你說這會提高性能,我不明白這一點。存儲過程是否應該更好? ...並且它不回答問題的「如何」部分。 –
我懷疑存儲過程會像簡單整數列上的索引一樣快。此外,存儲過程意味着把你的業務邏輯放到你的數據庫中 - 這不是Rails的方式(做一些谷歌搜索讀取圍繞它的參數)。用示例回調更新了答案。 –
感謝您的示例。 –