読者です 読者をやめる 読者になる 読者になる

RDBMSの集約関数の結果をActiveRecordで取得する方法

Rails

SQLのmax()やmix()の値をActiveRecordで取得するには以下のように記述します。検索条件を指定することもできます。

最大値 (max)

最大値を取得

User.maximum(:login_count)
User.maximum(:login_count, :conditions => {:age > 20})

最小値 (min)

最小値を取得

User.minimum(:login_count)
User.minimum(:login_count, :conditions => {:age > 20})

平均 (avg)

平均値を取得

User.avg(:login_count)
User.avg(:login_count, :conditions => {:age > 20})

合計 (sum)

合計を取得

User.sum(:login_count)
User.sum(:login_count, :conditions => {:age > 20})