在SQLAlchemy中计算子查询中的平均值

2024-09-30 20:26:55 发布

您现在位置:Python中文网/ 问答频道 /正文

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))

为了计算需要应用限制的列的平均值,这两个查询有什么问题?在


Tags: selfdatesessionmatchfilterqueryteampoints
1条回答
网友
1楼 · 发布于 2024-09-30 20:26:55

avg必须与列一起使用。SQLAlchemy中的子查询是可选择的核心,因此必须使用.c来访问列。这里我假设TeamMatchStats有一个points列:

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

相关问题 更多 >