【发布时间】:2010-02-16 13:21:39
【问题描述】:
有没有什么方法可以在 SQLAlchemy ORM 中编写如下 SQL 语句:
SELECT AVG(a1) FROM (SELECT sum(irterm.n) AS a1 FROM irterm GROUP BY irterm.item_id);
谢谢
【问题讨论】:
标签: python sqlalchemy
有没有什么方法可以在 SQLAlchemy ORM 中编写如下 SQL 语句:
SELECT AVG(a1) FROM (SELECT sum(irterm.n) AS a1 FROM irterm GROUP BY irterm.item_id);
谢谢
【问题讨论】:
标签: python sqlalchemy
sums = session.query(func.sum(Irterm.n).label('a1')).group_by(Irterm.item_id).subquery()
average = session.query(func.avg(sums.c.a1)).scalar()
【讨论】:
sums 是子查询对象,而不是映射类。它通过c 和columns 属性公开其可用列。