1
Rails 3アプリケーションに次のコードがあります。Rails 3アクティブなレコードと合計
@clinical_healthplan_spend = Clinical.select("ClientKey as client_key, PVID as animal_key, sum(Payments) as total_payments")
.where("ClinicalText LIKE 'Paid by PET HEALTH' AND PVID != 44444")
.order("sum(Payments) DESC")
.group("animal_key")
私は次のことを達成しようとしています:最初の最高total_paymentsによって
- 注文の結果を。
- 制限最初の要件のため、少なくとも1500
のtotal_payment値を持つレコードによってテーブル。
.order("sum(Payments) DESC")
が動作しても、第二の要件について
.order("total_payments DESC")
を行いません。
.where("total_payments > 1500")
は機能しません。
は、私が正しい場所に条件を入れアム、または合計オプションを使用するときにこれらを行うための別の方法はありますか?
助けていただけたら幸いです!
を働いていますが、説明できること「そして、あなたのグループにあなたは集計を持っていないすべてのフィールドを含める必要がありますか。」? – dannymcc
あなたは 'animal_key'と' client_key'の組み合わせの合計(これは集合関数(http://en.wikipedia.org/wiki/Aggregate_function)です)を表示します。したがって、 'animal_key'と' client_key'の両方を 'GROUP BY'する必要があります。わかりますか? – Mischa
はい、そうだと思います。説明ありがとう! – dannymcc