Вопрос

Мне нужна команда «группировать и подсчитывать» в sqlalchemy.Как я могу это сделать?

Это было полезно?

Решение

А документация по подсчету говорит, что для group_by запросы лучше использовать func.count():

from sqlalchemy import func
session.query(Table.column, func.count(Table.column)).group_by(Table.column).all()

Другие советы

Вы также можете рассчитывать на несколько групп и их пересечение:

self.session.query(func.count(Table.column1),Table.column1, Table.column2).group_by(Table.column1, Table.column2).all()

Приведенный выше запрос вернет счетчики для всех возможных комбинаций значений из обоих столбцов.

Если вы используете Table.query свойство:

from sqlalchemy import func
Table.query.with_entities(Table.column, func.count(Table.column)).group_by(Table.column).all()

Если вы используете session.query() метод (как указано в ответе миниварка):

from sqlalchemy import func
session.query(Table.column, func.count(Table.column)).group_by(Table.column).all()
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top