我有以下型號:軌道3 GROUP BY和總和
activity_types: id, name
activities: id, id_activity_type, occurrences, date (other fields)
活動錶店的活動日益出現的次數。但現在我想向用戶展示每個月每種類型發生的活動數量。
我得到了以下的解決方案based on this post這似乎確定:
Activity.all(:joins => :activity_types,
:select => "activity_types.id, activity_types.name, SUM(activities.occurrences) as occurrences",
:group => "activity_types.id, activity_types.name",
:order => "activity_types.id")
但這似乎對鋼軌的標準和rails API says it's deprecated大量的代碼。
我發現下面的溶液這是很多簡單:
Activity.sum(:occurrences).group(:activity_type_id)
哪個返回與activity_type_id =>出現一個散列。
我該怎麼做才能得到以下散列:activity_type.name =>發生了什麼?
'activity_types的一部分:ID,name'這裏ACTIVITY_TYPE名稱將被uniq的?對activity_types.id進行分組和排序僅僅是因爲你想要基於activity_types.id排序哈希,對吧? – 2012-01-31 20:08:30