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

Wol*_*lfy 15 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()
Run Code Online (Sandbox Code Playgroud)

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

我发现:SQLAlchemy中与数据库无关的MAX()函数

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

谁能告诉我怎么做?能给我举个例子?

Arc*_*ius 26

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

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

文档可在此处获得.

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

例:

session.query(self.stats.c.ID, func.max(self.stats.c.STA_DATE))
Run Code Online (Sandbox Code Playgroud)

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

  • 你可以在这里找到[func`]的文档(http://docs.sqlalchemy.org/en/latest/core/sqlelement.html?highlight=func#sqlalchemy.sql.expression.func),但你可以用`from sqlalchemy import func`导入它. (2认同)