Python 在SQLAlchemy中计算子查询中的平均值 points=Session.query(TeamMatchStats)\ .join(TeamMatchStats.match)\ .加入(比赛.联盟)\ .filter(League.season==self.season)\ .filter(TeamMatchStats.team==团队)\ .filter(Match.date
Python 在SQLAlchemy中计算子查询中的平均值 points=Session.query(TeamMatchStats)\ .join(TeamMatchStats.match)\ .加入(比赛.联盟)\ .filter(League.season==self.season)\ .filter(TeamMatchStats.team==团队)\ .filter(Match.date,python,sqlalchemy,subquery,average,Python,Sqlalchemy,Subquery,Average,avg必须与列一起使用。SQLAlchemy中的子查询是可选择的核心,因此必须使用.c访问列。这里我假设TeamMatchStats有一个points列: points = Session.query(TeamMatchStats) \ .join(TeamMatchStats.match) \ .join(Match.league) \ .filter(League.season == self.season) \ .filter(TeamMatchStats.
avg
必须与列一起使用。SQLAlchemy中的子查询是可选择的核心,因此必须使用.c
访问列。这里我假设TeamMatchStats
有一个points列:
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))
avg
必须与列一起使用。SQLAlchemy中的子查询是可选择的核心,因此必须使用.c
访问列。这里我假设TeamMatchStats
有一个points列:
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))
avg
应用于列,而不是表。avg
应用于列,而不是表。