Buyというモデルの中に
account_id: 1, amount: 500,
account_id: 1, amount: 5000,
account_id: 2, amount: 1000,
account_id: 2, amount: 40000,
account_id: 3, amount: 5000,
account_id: 3, amount: 7000
のような感じでデータがある場合に、
account_idごとにamountを集計したいと考えております。
そしてその集計ののち、amountの合計金額が30000以上のaccount_idを取りたいです。
そこで
ruby
1Buy.group(:account_id).sum(:amount)
のような形で集計したのですが、dbへの負荷が高いため別の書き方でやりたいと思っています。
そこで
ruby
1Buy.select(:account_id, :amount).group{|i| i.account_id}
こんな感じでaccount_idごとに分けることはできたのですが、
集計の仕方がちょっとわかりません。
sqlに負荷をかけないやり方でやりたいです。
どなたかご教授お願いいたします!
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/27 11:49