对查询字段求和

Ami*_*min 3 sqlalchemy func

这应该是一个问前的问题,我搜索过但我找不到任何答案.对不起,如果它是重复的.我有一个查询可以说:

my_query=session.query(Item).filter(somefilter)
Run Code Online (Sandbox Code Playgroud)

现在,Item有一个列,让我们说counter,我想找到这一列的总和my_query.我可以这样做:

sum=0
for row in query:
    sum+=row.counter
Run Code Online (Sandbox Code Playgroud)

但我不这样做这是在大型数据库中特别有效的方法.我知道这是可能的:sqlalchemy简单的例子是`sum`,`average`,`min`,`max`,但是这需要过滤qry(从页面借来的)我已经给出了过滤版本my_query.我不知道在qryvs使用for循环之上再次进行过滤是否真的更有效my_query.

Nic*_*ack 9

我有同样的问题.我在irc.freenode.org#sqlalchemy上问过,inklesspen指着我查询#with_entities().

sum = my_query.with_entities(func.sum(Item.counter)).scalar()
Run Code Online (Sandbox Code Playgroud)