23

我需要从表中获取最后 X 行,但按 ID 顺序。我怎么能做到这一点?

4

3 回答 3

38
query = users.select().order_by(users.c.id.desc()).limit(5)

print reversed(conn.execute(query).fetchall() )

反正是这样的

于 2012-09-10T04:34:03.253 回答
12

这对我有用...

c=session.query(a).order_by(a.id.desc()).limit(2)
c=c[::-1]

该方案比 BrendanSimon 提出的 python 切片方案快 10 倍。

于 2018-06-21T17:21:33.050 回答
4

我相信您可以在 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]
于 2013-05-28T01:22:06.420 回答