【问题标题】:How to group and count by day in Rails in Postgres?如何在 Postgres 的 Rails 中按天分组和计数?
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-28
      • 1970-01-01
      • 2012-05-10
      • 2013-10-06
      • 1970-01-01
      相关资源
      最近更新 更多