Gruppe von & Zählfunktion in sqlalchemy
-
20-08-2019 - |
Frage
Ich möchte eine „Gruppe von und zählen“ Befehl in sqlalchemy. Wie kann ich das tun?
Lösung
Die Dokumentation auf das Zählen sagt, dass für group_by
Abfragen es besser ist, verwenden func.count()
:
from sqlalchemy import func
session.query(Table.column, func.count(Table.column)).group_by(Table.column).all()
Andere Tipps
Sie können auch auf mehrere Gruppen zählen und deren Schnittpunkt:
self.session.query(func.count(Table.column1),Table.column1, Table.column2).group_by(Table.column1, Table.column2).all()
Die Abfrage oben kehrt Zählungen für alle möglichen Kombinationen von Werten aus den beiden Spalten.
Wenn Sie mit Table.query
Eigenschaft:
from sqlalchemy import func
Table.query.with_entities(Table.column, func.count(Table.column)).group_by(Table.column).all()
Wenn Sie session.query()
Methode verwenden (wie in miniwark Antwort angegeben):
from sqlalchemy import func
session.query(Table.column, func.count(Table.column)).group_by(Table.column).all()
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow