Python Sqlalchemy按顺序获取最后X行
我需要从表中获取最后的X行,但按ID的顺序。我如何才能实现这一点Python Sqlalchemy按顺序获取最后X行,python,sqlalchemy,Python,Sqlalchemy,我需要从表中获取最后的X行,但按ID的顺序。我如何才能实现这一点 query = users.select().order_by(users.c.id.desc()).limit(5) print reversed(conn.execute(query).fetchall() ) 无论如何,类似这样的东西我相信您可以在order_by参数前面加一个“-”以获得相反的顺序 query = users.select().order_by(-users.c.id.desc()).limit(5)
query = users.select().order_by(users.c.id.desc()).limit(5)
print reversed(conn.execute(query).fetchall() )
无论如何,类似这样的东西我相信您可以在order_by参数前面加一个“-”以获得相反的顺序
query = users.select().order_by(-users.c.id.desc()).limit(5)
另外,我相信您可以使用python切片作为限制的替代方法
query = users.select().order_by(users.c.id.desc())[-5:]
query = users.select().order_by(-users.c.id.desc())[:5]
这对我有用
c=session.query(a).order_by(a.id.desc()).limit(2)
c=c[::-1]
此解决方案比BrendanSimon提出的python切片解决方案快10倍。我认为该查询不会将它们按ID顺序排列,它会反转ID,因此,我最终做的是反转它给我的输出。显然,使用负索引会导致在Python中获取所有行和切片,而不是将
限制发送到SQL。对于核心:st=select([tab])。其中(tab.c.timestamp