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))
为了计算需要应用限制的列的平均值,这两个查询有什么问题?
答案 0 :(得分:3)
avg
必须与列一起使用。 SQLAlchemy中的子查询是可选择的核心,因此您必须使用.c
来访问列。在这里,我假设TeamMatchStats
有一个点列:
points = Session.query(func.avg(points.c.points))