这个问题How do I group by day instead of date?展示了如何在Ruby中进行分组。
这可行,但对于大量记录来说会非常慢。
怎么做才能按日:created_at
分组和计数发生在Postgres内?
答案 0 :(得分:5)
如果您没有定义订单范围,可以使用postgres中的date()
方法,如下所示:
Post.select("date(created_at) as created_date").group("created_date")
如果您确实有订单范围:
Post.all.except(:order).
select("date(created_at) as created_date").group("created_date")
您必须定义选择字段才能进行自定义分组,因此select()
部分应包含您需要记录集的字段。