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

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

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

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

最佳答案

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

关于sql - 如何在 Postgres 的 Rails 中按天分组和计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29834995/

相关文章:

sql - PostgreSQL:使用 Generate_Series() 计算 0

ruby-on-rails - 如何使用基于语言的 View 和模板?

ruby-on-rails - 创建时出现 Heroku 错误(在 Rails 应用程序中)

mysql - 使用两个不同条件mysql在同一列上求和

sql - 如何创建使用 INSERT 、 DELETE 、 UPDATE 事件的触发器

sql - 需要检查日期在sql server中是否重叠

ruby-on-rails - Rails 3中的多行I18n

database - Postgres 9.6.x : how to auto-update secondary table from primary table?

postgresql - 如何在 ubuntu 上彻底清除并重新安装 postgresql?

python - Django - 将代码转换为 Django 查询?