所以,我已經發現了這些問題:如何使用Postgres的
- How to group and count by day in Rails in Postgres?
- Grouping by week/month/etc & ActiveRecord?
- How do I group by day instead of date?
而且這種寶石:https://github.com/ankane/groupdate
我正在尋找按日格式分組記錄,格式爲l IKE在此:
[
{ "2016-03-16" => [Record1, Record2, Record3] },
{ "2016-03-17" => [Record1, Record2] },
{ "2016-03-18" => [Obj1, Obj2] }
]
我已經能夠得到使用此代碼的格式如下:
def group_by_criteria
created_at.to_date.to_s
end
list.group_by(&:group_by_criteria).map {|k,v| { k => v} }
然而,在其他問題解釋說,這不是一個大量的記錄非常有效的,我想我應該使用數據庫分組,但我不知道如何獲得我正在尋找的格式,我嘗試了這樣的事情,但我沒有得到我期待的結果:
list.order("date_trunc('day', created_at) DESC).map{ |k, v| { k => v }}
如何分組記錄b從數據庫這樣的一天?
我唯一能看到這樣做的另一種方式是每天都會有一個查詢,這並不可怕,但比使用ruby更簡單/高效。但是,它可以使您的數據庫免稅但是,你可以添加緩存,這可以幫助。如此多的變量,它實際上取決於你的用例。 – omarvelous