我的价值有2014/03 / 01,2014 / 02 / 20,2014 / 02 / 19,2014 / 02 / 18,2014 / 01/19 ......
我想按月收到金额(价格)。第一个月,第二个月,第三个月,......
使用rails 3&的PostgreSQL。
我试过@items = Item.where(:asin => @item.asin, :domain => @item.domain, :user_id => @item.user_id).order('created_at desc').group {created_at.beginning_of_month }
没用。
我也尝试了其他的东西,但似乎被忽略了,日志中没有任何组或组SELECT "items".* FROM "items" WHERE "items"."asin" = 'B00HI6ZLL2' AND "items"."domain" = 'co.jp' AND "items"."user_id" = 1 ORDER BY created_at desc
答案 0 :(得分:1)
sum = Array.new(12,0)
Item.each do |item|
sum[item.created_at.month-1] += item.price
end
尝试这样可以获得每月的商品价格总和。要获取二月飞蛾总数,您可以从sum[1]
答案 1 :(得分:1)
您可以使用它,但它只适用于支持DATE_FUNC
功能的数据库,如PostgreSQL和MySQL。它不适用于SQLite。
@items = Item.select("DATE_TRUNC('month', created_at) AS month, sum(price) AS total_price_per_month").group('month')