我有一個大數據集,我想爲用戶清理。該數據從數據庫設置看起來是這樣的:Ruby/Rails - 如何聚合數組中的查詢結果?
ID | project_id | thread_id | action_type |description
1 | 10 | 30 | comment | yada yada yada yada yada
1 | 10 | 30 | comment | xxx
1 | 10 | 30 | comment | yada 313133
1 | 10 | 33 | comment | fdsdfsdfsdfsdfs
1 | 10 | 33 | comment | yada yada yada yada yada
1 | 10 | | attachment | fddgaasddsadasdsadsa
1 | 10 | | attachment | xcvcvxcvxcvxxcvcvxxcv
現在,當我輸出如上上述,我在同樣的順序查看它,問題是,它是很重複。例如,對於PROJECT_ID 10 & THREAD_ID 30你看:
10 - 30 - yada yada yada yada yada
10 - 30 - xxxxx
10 - 30 - yada yada yada yada yada
我想什麼來學習如何在Ruby中做的,是一些如何創建一個PROJECT_ID和thread_id,則下一個數組,aggreate描述,所以不是輸出是:
10 - 30
- yada yada yada yada yada
- xxxxx
- yada yada yada yada yada
有關從哪裏開始的建議?這個要求對我來說是新的,所以我會很感激你對你正在考慮解決問題的最好方法的想法。希望這可以通過ruby而不是sql來完成,因爲活動提要可能會隨着事件類型和複雜。
感謝
對於SQL方法使用GROUP BY。對於Ruby方法,使用Enumerable#group_by。檢查文檔。 – tokland 2011-02-11 23:15:19
這些數據採用何種形式?它是ActiveRecord對象還是JSON對象或其他東西? – 2011-02-11 23:16:25