假设我有一个表'共享'与以下列:
company price quantity
Microsoft 100 10
Google 99 5
Google 99 20
Google 101 15
我想运行相当于这样的SQL语句:
select price, sum(quantity) as num from shares where company='Google' group by price;
我最接近的是:
result = dbsession.query(Shares.price, func.sum(Shares.quantity)).filter(Shares.company== 'Google').group_by(Shares.price).all()
我在sqlalchemy中设置'sum(quantity)as num'时遇到了麻烦。看来我需要使用别名(),但我无法通过查看文档来弄清楚如何。如果有人能告诉我该怎么做,我将不胜感激。
非常感谢!
答案 0 :(得分:73)
您实际上需要label
方法。
result = dbsession.query(Shares.price, \
func.sum(Shares.quantity).label("Total sold")) \
.filter(Shares.company== 'Google') \
.group_by(Shares.price).all()