数千行のデータベース テーブルがあります。基本的に、2,000 ポンド以上を費やしたすべてのクライアントをリストするレポートを作成したいと思います。
テーブルには多くの列がありますが、私が興味を持っているのは次のとおりです。
======================================================
| ClientKey | PVID | ShortText | Payments |
======================================================
| 13276 | 76668| Paid by PET HEALTH | 56.79 |
| 12893 | 62368| Paid by PET HEALTH | 42.79 |
| 23782 | 87468| Paid by PET HEALTH | 26.29 |
| 23246 | 79868| Paid by PET HEALTH |-16.52 |
======================================================
行を ClientKey でグループ化し、Payments 列を合計する必要があります。次に、Payments 列の合計が 2,000 ポンド未満のものをすべて削除して、それらをフィルタリングする必要があります。PVID が 44444 の行も無視する必要があります。
これまでのところ、次のようなものが必要になることがわかっています。
@clinical = Clinical.where("ShortText LIKE 'Paid by PET HEALTH' AND PVID != 44444")
これにより、行がフィルタリングされて PVID が 44444 のものが除外され、ShortText に Paid by PET HEALTH が含まれる行のみが表示されます。
ClientKey ごとに支払い列を合計する方法がわかりません。
私が望む最終結果は、これを行う能力です:
Client Key 13276 has spent £99,999 so far.
Client Key 21342 has spent £3,200 so far.
Client Key 32312 has spent £2,110 so far.
任意のヘルプおよび/またはポインタをいただければ幸いです!