如何在查询中找到使用组的所有first / top值?所以我想找到每个分组月份的第一条记录:
class Log < ActiveRecord::Base
belongs to :foo
attr_accessible :month, :votes, :foo_id
# ...
end
因此,在上面的模型中,我想检索每个月票数最多的记录。记录已按投票顺序排序。
答案 0 :(得分:1)
这将根据月份过滤所有数据,您可以使用每个循环进入其中并从中获取第一条记录。
month_wise = Log.all.group_by { |t| t.created_at.beginning_of_month }
month_wise.each do |month|
puts month.first.inspect
end
答案 1 :(得分:1)
答案 2 :(得分:1)
如果您使用的是Rails,则可以使用transform_values
Log.all.group_by{ |l| l.created_at.month }.transform_values(&:first)