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

B S*_*ven 2 sql postgresql activerecord ruby-on-rails ruby-on-rails-4

这个问题如何按日而不是日期分组?展示了如何在Ruby中进行分组.

这可行,但对于大量记录来说会非常慢.如何做到这一点,以便:created_at在Postgres内按日进行分组和计数?

Rub*_*cer 5

如果您没有定义订单范围,可以使用date()postgres中的方法,如下所示:

Post.select("date(created_at) as created_date").group("created_date")
Run Code Online (Sandbox Code Playgroud)

如果您有订单范围:

Post.all.except(:order).
     select("date(created_at) as created_date").group("created_date")
Run Code Online (Sandbox Code Playgroud)

您必须定义选择字段才能进行自定义分组,因此该select()部分应包含您需要记录集的字段.