2016-07-05 12 views
0
points = Session.query(TeamMatchStats) \ 
    .join(TeamMatchStats.match) \ 
    .join(Match.league) \ 
    .filter(League.season == self.season) \ 
    .filter(TeamMatchStats.team == team) \ 
    .filter(Match.date <= date).limit(7).subquery() 

points = Session.query(func.avg(points)) 

制限を適用する必要がある列の平均を計算するには、これらの2つのクエリに何が問題がありますか?SQLAlchemyのサブクエリで平均を計算する

+0

'avg'はテーブルではなく列に適用されます。 – univerio

答えて

3

avgは、列と一緒に使用する必要があります。 SQLAlchemyのサブクエリはコア選択可能なので、カラムにアクセスするには.cを使用する必要があります。ここでは、TeamMatchStatsにポイント列があるとします。

points = Session.query(func.avg(points.c.points))