2010-08-16 53 views
3

我想按照小時/天甚至到一刻鐘的時間將我的數據分組。是否可以按小時/分鐘/小時直接在ActiveRecord/Rails中進行分組?

我可以直接在ActiveRecord中執行此操作,還是應該只抓取所有數據並手動進行聚合?

Table "Checkin": 
    Time NumBikes ChangeBikes 
    09:00 5   5 
    09:05 6   1 
    09:10 10  4 
    10:00 6   4 
    10:05 8   2 
    10:10 16  8 

Looking to get something like: 
    Time Sum(ChangeBikes) 
    09:00 10 
    10:00 14 

在此先感謝,克里斯。

+0

耶 - 這個懸而未決,幾乎看問題,讓我的風滾草徽章:) – 2010-08-24 11:32:38

回答

0

我去的解決方案是爲我之後的時間段在表上創建附加列。對於上面的示例,我將添加一個Time_Hour列,並將時間向下舍入到適當的小時。然後,我可以對該專欄進行分組/分析,以按小時計算統計數據。

2

如果你不需要四分之一小時或作爲替代(有些工作)(和克里斯可能已經發現這已經是很久以前已經),你可以嘗試詳細回答here

要點是,可以羣由單個時間element--例如group(hour(date_time_field) - 或日期格式:

CheckIn.group("date_format(created_at, '%Y%m%d %H/%M')").count 

如果你想在一刻鐘的時間增加,你可以嘗試this,然後添加在格式化

+0

謝謝 - 聽起來像一個很好的選擇 – 2012-07-26 07:51:59