Rails按小时查询数据

时间:2016-08-19 07:46:27

标签: ruby-on-rails postgresql

我很难在前一天查询一小时的数据。在Postgres上使用Rails 4。

例如

Table X:

created_at, value

timestamp1    3
timestamp2    5

我想得到:

 time, value
YYMMDD 00:00   15
YYMMDD 01:00   20

基本上是每小时的总和。我试过了

Rails & Postgresql: how to group queries by hour?

Is it possible to group by hour/minute/quarter hour directly in ActiveRecord/Rails?

但是我仍然无法弄清楚如何让它正常工作,我得到错误的回答时间。我如何设置我的时区以及此查询?

TableX.group(" DATE_trunc('小时',created_at)&#34)。计数

谢谢!

1 个答案:

答案 0 :(得分:1)

您只需创建一个像这样的查询:

SELECT date_trunc('hours', created_at), sum(value)
FROM TableX
GROUP BY date_trunc('hours', created_at)

这个使用date_trunc而不是建议的date_part,这更适合你的问题。