Grupo de recuento y función en sqlalchemy
-
20-08-2019 - |
Pregunta
quiero un "group by y cuento" comando en sqlalchemy. ¿Cómo puedo hacer esto?
Solución
La documentación href="http://www.sqlalchemy.org/docs/orm/tutorial.html#counting" rel="noreferrer"> dice que para que las consultas group_by
es mejor utilizar func.count()
:
from sqlalchemy import func
session.query(Table.column, func.count(Table.column)).group_by(Table.column).all()
Otros consejos
También puede contar con múltiples grupos y su intersección:
self.session.query(func.count(Table.column1),Table.column1, Table.column2).group_by(Table.column1, Table.column2).all()
La consulta anterior devolverá el recuento de todas las combinaciones posibles de valores de ambas columnas.
Si está utilizando Table.query
propiedad:
from sqlalchemy import func
Table.query.with_entities(Table.column, func.count(Table.column)).group_by(Table.column).all()
Si está utilizando session.query()
método (como se indica en la respuesta de miniwark):
from sqlalchemy import func
session.query(Table.column, func.count(Table.column)).group_by(Table.column).all()
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow