Rails和Postgresql:如何按小时对查询进行分组?

min*_*ank 5 postgresql time group-by ruby-on-rails

如何在Postgres&Rails中按小时分组?我已经阅读了很多SO答案,但我收到了错误.

这在按日期分组时有效:

Model.group("date(updated_at)").count
Run Code Online (Sandbox Code Playgroud)

然后我尝试了以下一小时,但他们没有工作:

Model.group("hour(updated_at)").count
Model.group("date_format(updated_at, '%H')").count
Model.group("extract(hour from updated_at)").count
Run Code Online (Sandbox Code Playgroud)

一旦我找到了需要更新的特定时间,我将如何获得那些时间的模型?即:

Model.where("hour(updated_at) = ?", 5)
Run Code Online (Sandbox Code Playgroud)

jvn*_*ill 12

您可以尝试以下方法

Model.group("DATE_PART('hour', updated_at)").count
Run Code Online (Sandbox Code Playgroud)

更新:

如何查找记录

Model.where("DATE_PART('hour', updated_at) = ?", 5)
Run Code Online (Sandbox Code Playgroud)