如何在sqlalchemy中使用"复合顺序"

fly*_*pen 7 sqlalchemy

假设有一个SQL语句:

select * from A order by cola
Run Code Online (Sandbox Code Playgroud)

在sqlalchemy中,我们可以使用以下代码:

session.query(A).order_by(asc(cola))
Run Code Online (Sandbox Code Playgroud)

现在我想在SQL中使用"复合顺序":

select * from A order by cola, colb
Run Code Online (Sandbox Code Playgroud)

那么我将如何将其翻译成sqlalchemy代码?我可以用吗:

session.query(A).order_by(asc(cola, colb))
Run Code Online (Sandbox Code Playgroud)

可能我不能这样做.

fly*_*pen 8

我发现我可以这样做:

session.query(A).order_by('cola, colb')
Run Code Online (Sandbox Code Playgroud)

那么这个问题就解决了.

  • 你也可以:`qry = qry.order_by(cola).order_by(colb)`.添加`order_by(...)`语句的顺序非常重要. (9认同)