使用sqlalchemy在查询中运行sum / totals列

时间:2013-06-23 23:57:14

标签: python sqlalchemy

如何在sqlalchemy的查询中获得运行余额?

我有:

table1                         table2
item_id  journal_id  qty       journal_id  journal_date
2           25       654          25         31/05/2013
5           45       123          45         25/04/2013
2           65       887          65         03/04/2013
2           85       321          85         13/02/2013
5           85       225

我需要一个查询,它会给我以下结果:

 item_id   journal_date  qty  balance
 2          13/02/2013   321   321   
 2          03/04/2013   887   1208
 2          31/05/2013   654   1862
 5          13/02/2013   225   225
 5          25/04/2013   123   348

1 个答案:

答案 0 :(得分:0)

有一个WITH ROLLUP SQL子句可以满足您的需求,但它并没有内置到SQLAlchemy中,并且在每个DBMS中都不受支持,但假设您使用相对不错的东西,那么您应该很好。

有一个helpful recipe on the SQLAlchemy mailing list指出了如何在SQLAlchemy中支持它的正确方向。

当然,您可以通过在处理数据时迭代结果集来创建运行小计。