1

我在按月或按年对记录进行分组时遇到问题。例如,我有这个查询:

records .select("strftime('%Y',date) as year")
        .group("strftime('%Y',date)")
        .order("strftime('%Y',date) DESC")

它可以工作,但它是 SQLite 的数据库特定代码。所以,当我在 heroku 上传递我的项目时,它会产生一个错误。我可以为每个通用数据库编写一个特定于数据库的代码,但它既丑陋又复杂。

我查看此解决方案:

group_by { |t| t.due_at.beginning_of_month }

但我认为它非常昂贵,因为我必须在分组之前返回数据库中的所有记录。

我也查看了这个解决方案: http: //ariejan.net/2007/01/12/rails-group-results-by-week-using-group_by

但我认为比它相同的想法。

你有解决方案吗?也许有一个像squeel这样的宝石?

4

0 回答 0