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

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

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

如果您没有定义订单范围,可以使用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()部分应包含您需要记录集的字段。