Grupo por & função em sqlalchemy contar
-
20-08-2019 - |
Pergunta
Eu quero um "grupo por e contar" comando no sqlalchemy. Como posso fazer isso?
Solução
A documentação na contagem diz que para consultas group_by
é melhor para uso func.count()
:
from sqlalchemy import func
session.query(Table.column, func.count(Table.column)).group_by(Table.column).all()
Outras dicas
Você também pode contar com vários grupos e sua interseção:
self.session.query(func.count(Table.column1),Table.column1, Table.column2).group_by(Table.column1, Table.column2).all()
A consulta acima irá retornar contagens para todas as combinações possíveis de valores de ambas as colunas.
Se você estiver usando propriedade Table.query
:
from sqlalchemy import func
Table.query.with_entities(Table.column, func.count(Table.column)).group_by(Table.column).all()
Se você estiver usando método session.query()
(como indicado na resposta de miniwark):
from sqlalchemy import func
session.query(Table.column, func.count(Table.column)).group_by(Table.column).all()
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow