【发布时间】:2015-04-23 21:51:44
【问题描述】:
这个 SO 问题 How do I group by day instead of date? 展示了如何在 Ruby 中进行分组。
这可行,但对于大量记录来说会很慢。
如何做到这一点,以便在 Postgres 中按天按:created_at 进行分组和计数?
【问题讨论】:
标签: sql ruby-on-rails postgresql ruby-on-rails-4 activerecord
这个 SO 问题 How do I group by day instead of date? 展示了如何在 Ruby 中进行分组。
这可行,但对于大量记录来说会很慢。
如何做到这一点,以便在 Postgres 中按天按:created_at 进行分组和计数?
【问题讨论】:
标签: sql ruby-on-rails postgresql ruby-on-rails-4 activerecord
如果您没有定义订单范围,您可以使用 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() 部分应包含您需要记录集包含的字段。
【讨论】: