1

我在 Rails 中运行以下命令:

coe = trackers.where(:trackable_type => "Mailing").count(:group => 'DATE(created_at)')

它返回一个哈希值,其中的项目很好地分组。

但是,我想不仅按日期分组,而且按小时分组,而不是按分钟或秒分组。

如何运行此查询,以便所有繁重的工作都由 Postgresql 完成,并且在我取回数据集后不进行转换?


我的错误是我想按日期和时间分组。对困惑感到抱歉。

4

2 回答 2

1

听起来你想要 date_trunc() 函数:

http://www.postgresql.org/docs/current/interactive/functions-datetime.html#FUNCTIONS-DATETIME-TABLE

于 2012-05-07T15:36:28.333 回答
1

我不想按日期分组,而是按小时分组,而不是按分钟或秒分组。

大胆强调我的。
所以date_trunc()可能不是你想要的,但是EXTRACTordate_part()

coe = trackers.where(:trackable_type => "Mailing").count(:group => 'EXTRACT (hour FROM created_at)')
于 2012-05-08T01:13:39.677 回答