sqlalchemy: получить максимальные / минимальные / средние значения из таблицы - PullRequest
13 голосов
/ 20 августа 2011

У меня есть этот запрос:

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 из таблицы ...

Я нахожу это: Независимая от базы данных функция MAX () в SQLAlchemy

Но я не знаю, где использовать этот func.max / min / avg ...

Может кто-нибудь сказать мне, как это сделать? Можете привести пример?

Ответы [ 2 ]

24 голосов
/ 07 августа 2012

Следующие функции доступны с from sqlalchemy import func:

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

Документация доступна здесь .

Вы можете использовать их, например, в методе query ().

Пример:

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

(простокак вы используете функции agragate в простом SQL)

0 голосов
/ 07 августа 2012

Или просто используйте order_by () и выберите первый или последний элемент.,.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...