sqlalchemy:从表中获取最大/最小/平均值

时间:2011-08-20 16:15:03

标签: python sqlalchemy

我有这个问题:

mps =   (
            session.query(mps)  .filter_by(idc = int(c.idc))
                                .filter_by(idmp = int(m.idmp))
                                .group_by(func.day(mps.tschecked))
        ).all()

我的问题是,我不知道如何从表中提取(使用sqlalchemy)max / min / avg值...

我找到了这个:Database-Independent MAX() Function in SQLAlchemy

但我不知道在哪里使用这个func.max / min / avg ...

有人能告诉我怎么做吗?你能举个例子吗?

2 个答案:

答案 0 :(得分:24)

from sqlalchemy import func可以使用以下功能:

  • func.min
  • func.max
  • func.avg

文档可用here

您可以在query()方法中使用它们。

示例:

session.query(self.stats.c.ID, func.max(self.stats.c.STA_DATE))

(就像在纯SQL中使用agragate函数一样)

答案 1 :(得分:-6)

或者只使用order_by()并选择第一个或最后一个元素。 。