次の列を持つ「shares」というテーブルがあるとします。
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」を設定するのに問題があります。 alias()を使用する必要があるように見えますが、ドキュメントを調べても方法がわかりません。方法を教えてもらえたらありがたいです。
どうもありがとう!
実際には label
メソッドが必要です。
result = dbsession.query(Shares.price, \
func.sum(Shares.quantity).label("Total sold")) \
.filter(Shares.company== 'Google') \
.group_by(Shares.price).all()