使用sqlAlchemy'动态按子句排序;s的SQL表达式语言

使用sqlAlchemy'动态按子句排序;s的SQL表达式语言,sqlalchemy,Sqlalchemy,我正在使用sqlAlchemy SQL表达式语言,如下所示: col_name = 'variable_col' metadata = MetaData(db) myTable = Table('table_name', metadata, Column(col_name, Integer)) s = myTable.select() for rec in conn.execute(s): 我试图完成的是按结果集中唯一的一列对results desc进行排序 我尝试

我正在使用sqlAlchemy SQL表达式语言,如下所示:

col_name = 'variable_col'
metadata = MetaData(db)
myTable = Table('table_name', metadata,
              Column(col_name, Integer))
s = myTable.select()
for rec in conn.execute(s):
我试图完成的是按结果集中唯一的一列对results desc进行排序

我尝试使用以下方法:

s.order_by(desc(myTable.c))
s.order_by(desc(myTable.c[0]))
s = s.order_by(myTable.c[col_name].desc())
我甚至尝试创建一个列对象,并按以下顺序排序:

temp_col = Column(col_name, Integer)
s.order_by(desc(temp_col))
都没有用。返回的结果就像没有order_by子句一样

任何帮助都将不胜感激。

SQLAlchemy中的order_by()方法不会修改它应用于的查询,而是返回一个新查询。列也可以通过名称而不是索引进行访问。使用类似以下内容:

s.order_by(desc(myTable.c))
s.order_by(desc(myTable.c[0]))
s = s.order_by(myTable.c[col_name].desc())

我认为这是对SQL结果进行动态排序/排序的一个更完整的答案

您正在反过来设置
排序
变量