我有问题按月或按年分组记录。例如,我有这个问题:
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
但我认为这是同样的想法。
你有解决方案吗?也许有像吱吱声的宝石?