Domanda

Voglio un "gruppo da e contare" il comando in SQLAlchemy. Come posso fare questo?

È stato utile?

Soluzione

Il sul conteggio dice che per group_by query esso è meglio utilizzare func.count():

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

Altri suggerimenti

Si può anche contare su più gruppi e la loro intersezione:

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

La query sopra restituirà i conteggi per tutte le possibili combinazioni di valori da entrambe le colonne.

Se si utilizza Table.query proprietà:

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

Se si utilizza il metodo session.query() (come detto nella risposta di miniwark):

from sqlalchemy import func
session.query(Table.column, func.count(Table.column)).group_by(Table.column).all()
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top