如何在Postgres的Rails中按天分组和计数?

时间:2015-04-23 21:51:45

标签: sql ruby-on-rails postgresql ruby-on-rails-4 activerecord

这个问题How do I group by day instead of date?展示了如何在Ruby中进行分组。

这可行,但对于大量记录来说会非常慢。 怎么做才能按日:created_at分组和计数发生在Postgres内?

1 个答案:

答案 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()部分应包含您需要记录集的字段。