这应该是一个问前的问题,我搜索过但我找不到任何答案.对不起,如果它是重复的.我有一个查询可以说:
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.
我有同样的问题.我在irc.freenode.org#sqlalchemy上问过,inklesspen指着我查询#with_entities().
sum = my_query.with_entities(func.sum(Item.counter)).scalar()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4783 次 |
| 最近记录: |