炼金术中的分组计数函数

我需要在 sql 炼金术中使用“ group by and count”命令,我该怎么做呢?

178121 次浏览

计数文件表示,对于 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()