使用PostgreSQL聚合ORDER BY和sqlalchemy

Ale*_* jg 4 python postgresql sqlalchemy

我有一个查询,它使用PostgreSQL的语法在聚合函数中使用ORDER BY,如下所示:

SELECT some_agg_func(a ORDER BY b DESC) FROM table;
Run Code Online (Sandbox Code Playgroud)

有没有人知道用sqlalchemy表达式语言来做这件事?

Mar*_*Mar 6

我认为SqlAlchemy 1.1 string_agg现在支持原生:http://docs.sqlalchemy.org/en/latest/dialects/postgresql.html#sqlalchemy.dialects.postgresql.aggregate_order_by(搜索"func.string_agg"页面)


小智 5

来自SQLAlchemy 文档

from sqlalchemy.dialects.postgresql import aggregate_order_by

expr = func.array_agg(aggregate_order_by(table.c.a, table.c.b.desc()))
stmt = select([expr])
Run Code Online (Sandbox Code Playgroud)