Rails:如何对Datetime字段具有相同日期(月日)的记录进行分组?

时间:2014-05-12 21:24:03

标签: ruby-on-rails

我有一个Purchase模型,我希望按照ordered_datetime字段对所有记录进行分组。但是,我不在乎时间,我只想按日期分组。因此,如果订购了2个订单:

  1. 5/12/2014 12:00 PM
  2. 5/12/2014 3:00 PM
  3. 即使它们在白天的不同时间发生,它们也应该组合在一起。

    有办法做到这一点吗? Purchase.uniq.pluck(:ordered_datetime)将2条记录分为2组,因为它们的时间不同。

1 个答案:

答案 0 :(得分:4)

您可以在时间戳列上使用DATE函数:

Purchase.group('DATE(ordered_datetime)').count

使用购买计数返回每个日期。

您还可以通过添加订单子句对日期进行排序:

Purchase.group('DATE(ordered_datetime)').order('date_ordered_datetime').count