Disons que j'ai une table "partages" avec les colonnes suivantes:
company price quantity
Microsoft 100 10
Google 99 5
Google 99 20
Google 101 15
Je voudrais exécuter l'équivalent d'une instruction SQL comme ceci:
select price,
sum(quantity) as num
from shares
where company='Google'
group by price;
Le plus proche que je suis venu est:
result = (dbsession.query(Shares.price, func.sum(Shares.quantity))
.filter(Shares.company == 'Google')
.group_by(Shares.price)
.all())
J'ai du mal à configurer la "somme (quantité) en tant que num" dans sqlalchemy. Il semble que je doive utiliser alias () mais je n'arrive pas à comprendre comment en consultant la documentation. Je serais reconnaissant si quelqu'un pouvait me montrer comment le faire.
Merci beaucoup!
Vous voulez en fait la méthode label
.
result = dbsession.query(Shares.price, \
func.sum(Shares.quantity).label("Total sold")) \
.filter(Shares.company== 'Google') \
.group_by(Shares.price).all()