SQLAlchemy子查询 - 总和的平均值

时间:2010-02-16 13:21:40

标签: python sqlalchemy

有没有办法在SQLAlchemy ORM中编写以下SQL语句:

SELECT AVG(a1) FROM (SELECT sum(irterm.n) AS a1 FROM irterm GROUP BY irterm.item_id);

谢谢

2 个答案:

答案 0 :(得分:27)

sums = session.query(func.sum(Irterm.n).label('a1')).group_by(Irterm.item_id)
average = session.query(func.avg(sums.subquery().columns.a1)).scalar()

答案 1 :(得分:1)

请参阅subqueries上的SQLAlchemy教程。