在Ruby中按月对日期字段进行分组



我有一个日期字段(Model.expires_on),我需要按月对记录进行分组并获得Model.amount字段的总和。我可以:

Model.all.group(:expires_on).sum(:amount)

但是当我试图按月分组时,我无法得到它。我试过了:

Model.all.group(:expires_on.month).sum(:amount)

对于Postgresql,这应该可以工作

 Model.group("date_part('month',expires_on)").select("date_part('month',expires_on) as expiration_month ,sum(amount) as sum_amount")

你也可以使用取决于你的SQL提供程序,因为Postgresql没有一个月函数

Model.group("MONTH(expires_on)").select("MONTH(expires_on) as expiration_month,sum(amount) as sum_amount")

此集合中的对象将响应expiration_monthsum_amount

知道这将合并所有月份,而不管年份

相关内容

  • 没有找到相关文章

最新更新