我想要 sqlalchemy 中的“分组和计数”命令。我怎样才能做到这一点?
问问题
151098 次
3 回答
216
关于计数的文档说,对于group_by
查询,最好使用func.count()
:
from sqlalchemy import func
session.query(Table.column, func.count(Table.column)).group_by(Table.column).all()
于 2010-11-03T10:44:33.580 回答
54
如果您使用的是Table.query
财产:
from sqlalchemy import func
Table.query.with_entities(Table.column, func.count(Table.column)).group_by(Table.column).all()
如果您使用的是session.query()
方法(如 miniwark 的回答中所述):
from sqlalchemy import func
session.query(Table.column, func.count(Table.column)).group_by(Table.column).all()
于 2018-07-05T13:58:21.860 回答
33
您还可以依靠多个组及其交集:
self.session.query(func.count(Table.column1),Table.column1, Table.column2).group_by(Table.column1, Table.column2).all()
上面的查询将返回两列中所有可能的值组合的计数。
于 2011-03-11T17:10:24.653 回答