什么是Rails 3的方式来排序.group()导致Activerecord(这里是“created_at”)?
@messages = Message.group(:foo)
我试过了
@messages = Message.group(:foo).having("created_at = MAX(created_at)")
没有成功.任何提示赞赏!
澄清:我正在寻找组内订购,而不是一般的message.order(“…”).
如果没有简单的Activerecord语法,我也会对原始sql感到满意
更新:尝试sql方式,这应该是工作:
@messages = Message.find_by_sql(" SELECT messages.* FROM messages GROUP BY messages.foo HAVING messages.created_at = MAX(messages.created_at) ORDER BY messages.created_at DESC")
但是,这仅检索单个记录(那些未分组的记录).假设组合的被省略.不知道为什么,所有记录都有:created_at和foo值