集团通过与计数功能的SQLAlchemy
-
20-08-2019 - |
题
我希望有一个“按组和计数”在SQLAlchemy的命令。我怎样才能做到这一点?
解决方案
上计数的文档说为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
属性:
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()
不隶属于 StackOverflow