Создание запроса AVG с Peewee в Python - PullRequest
0 голосов
/ 05 августа 2020

Я использую Peewee ORM. У меня есть только одна таблица (Person) с такими полями, как first_name, username, age, gender et c. Я хочу написать запрос, в котором я получаю средний возраст, как обычно SQL запрос:

SELECT AVG(age) FROM Person

Но у меня проблема с созданием этого запроса в Peewee. У меня есть:

query = Person.select(fn.AVG(Person.age))

Когда я печатаю этот запрос, я получаю: SELECT AVG("t1"."age") FROM "person" as "t1" и когда я повторяю запрос и печатаю, я получаю None. Кто-нибудь знает, как решить эту проблему?

1 Ответ

1 голос
/ 05 августа 2020

Чтобы получить скалярное значение из агрегата, вы можете использовать метод scalar ():

Person.select(fn.AVG(Person.age)).scalar()

http://docs.peewee-orm.com/en/latest/peewee/querying.html#aggregating -records

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