2011-10-21 7 views
0

お願いします。今日までに合計時間を秒単位で選択するにはどうすればよいですか? 例えば、私はいくつかのテーブルがあります。アクティブレコード加算欄

online | offline | .... 
10:33 | 12:08 | ... 
13:10 | 13:34 | ... 

をそして、私は秒で、この期間の合計を受ける必要があります(または分 - それは重要ではありません)。 ありがとう!

答えて

3
def secounds 
    (self.offline-self.online).to_i # will give you the time in secounds 
end 

あなたがブロック

sum=Integer.new 
Model.where(_your conditions_).each do |instance| 
    sum+=instance.secounds 
end 
sum # << the secounds of all the data you selected using the weher coondition 

//ああと一つのことのためにこれを使用することができます。あなたが決して他の列から計算できるデータのための列を作成することは決してありません。唯一のDBで

Model.sum("offline-online") 
Model.where("my condition").sum("offline-online") # also with conditions.... 
+0

ああ、申し訳ありませんが、私は任意のRubyコードなしで、「どのように私はそれがデータベースを使用して計算することができます」を意味しています。高負荷のアプリケーションでは重要です – ValeriiVasin

+0

投稿を表示...編集済み! – davidb

+0

ありがとう! – ValeriiVasin