我需要在 sql 炼金术中使用“ group by and count”命令,我该怎么做呢?
计数文件表示,对于 group_by查询,最好使用 func.count():
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属性:
Table.query
from sqlalchemy import func Table.query.with_entities(Table.column, func.count(Table.column)).group_by(Table.column).all()
如果你正在使用 session.query()方法(如 miniwark 的回答所述) :
session.query()