小编ani*_*bal的帖子

SqlAlchemy选择max,group_by和order_by

我必须列出每个组的最后修改资源,为此我可以执行以下查询:

model.Session.query(
    model.Resource, func.max(model.Resource.last_modified)
).group_by(model.Resource.resource_group_id).order_by(
    model.Resource.last_modified.desc())
Run Code Online (Sandbox Code Playgroud)

但是SqlAlchemy抱怨:

ProgrammingError: (ProgrammingError) column "resource.id" must appear in
the GROUP BY clause or be used in an aggregate function
Run Code Online (Sandbox Code Playgroud)

我如何只选择resource_group_id和last_modified列?

在SQL中我想要的是这个:

SELECT resource_group_id, max(last_modified) AS max_1
FROM resource GROUP BY resource_group_id ORDER BY max_1 DESC
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

12
推荐指数
2
解决办法
1万
查看次数

标签 统计

python ×1

sqlalchemy ×1