更好的分组方式

时间:2012-02-17 12:54:29

标签: ruby-on-rails activerecord ruby-on-rails-3.2

我有问题按月或按年分组记录。例如,我有这个问题:

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

但我认为这是同样的想法。

你有解决方案吗?也许有像吱吱声的宝石?

0 个答案:

没有答案