これは前に尋ねられた質問であるはずです、私は検索しました、しかし私はそれについての答えを見つけることができませんでした。重複している場合は申し訳ありません。私は次のような質問をします。
my_query=session.query(Item).filter(somefilter)
ここで、Itemに列があり、たとえばcounter
、この列の合計を求めますmy_query
。私はこのようにそれを行うことができます:
sum=0
for row in query:
sum+=row.counter
しかし、これは特に大規模なデータベースでこれを行うための効率的な方法ではありません。私はこれが可能であることを知っています:sqlalchemyの`sum`、` average`、 `min`、` max`の簡単な例ですqry
が、これにはすでにフィルタリングされたバージョンを与えた(ページから借りた)フィルタリングが必要my_query
です。qry
でforループを使用するよりも、上でフィルタリングを再度実行する方が本当に効率的かどうかはわかりませんmy_query
。