カラムの平均値を求める
モデル.average(カラム名 [, オプション])
オプション | 説明 |
---|---|
:conditions | 関数を条件に一致する行に制限 |
:include | 関連テーブルのデータを取得 |
:joins | テーブル結合 |
:order | 結果を並び替える |
:select | 集計に使う行を選択 |
:distinct | カラム内の重複した値を除いて、別個の値のみカウント |
:group | グルーピング命令 |
Page.average(:count)
# SELECT AVG("pages"."count") AS avg_id FROM "pages"
Page.average(:count, :conditions => ["category_id = 1"])
# SELECT AVG("pages"."count") AS avg_id FROM "pages" WHERE (category_id = 1)
Page.average(:count, :joins => :category, :conditions => ["name = 'rails'"])
# SELECT AVG("pages"."count") AS avg_id FROM "pages" INNER JOIN "categories" ON "categories"."id" = "pages"."category_id" WHERE (name = 'rails')
Page.average(:count, :group => :category_id)
# SELECT AVG("pages"."count") AS average_position, category_id AS category_id FROM "pages" GROUP BY category_id