问题:sqlalchemy中的分组和计数功能
我想在sqlalchemy中使用“分组并计数”命令。我怎样才能做到这一点?
回答 0
关于计数的文档说,对于group_by
查询,最好使用func.count()
:
from sqlalchemy import func
session.query(Table.column, func.count(Table.column)).group_by(Table.column).all()
回答 1
如果您使用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()
回答 2
您还可以依靠多个组及其交集:
self.session.query(func.count(Table.column1),Table.column1, Table.column2).group_by(Table.column1, Table.column2).all()
上面的查询将返回两列中所有可能的值组合的计数。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。