如何按月,按周和按季选择数据

时间:2014-02-08 05:40:42

标签: ruby-on-rails ruby

我在以下

中有一个Order模型

如果今天是5/3

我想总结前3个月的订单数据,怎么做?

我的意思是我想在5月份显示排除订单的2/1 ~ 4/30

如果今天是2014/4/20,我想显示前3周数据的总和。 2014/2/1~2/15

如何用Rubic方式做到这一点?

2 个答案:

答案 0 :(得分:2)

start_date = 3.months.ago.beginning_of_month
end_date = 1.month.ago.end_of_month

您可以根据这些日期编写查询。同样的逻辑也可以应用数周。

答案 1 :(得分:2)

你想要的是:

date = DateTime.now.utc
Order.where('created_at >= ? and created_at <= ?', date.beginning_of_month, date.utc.end_of_month).sum('price')

price是您想要求和的列。

你可以重用@Santosh的逻辑来获得你想要的日期=)