我在db中有一个表。当我使用这段代码时
results = db().select(db.project.ALL, orderby=db.project.id, groupby=db.project.status)
我只能选择重复的最后一行。我怎么能选择第一个?
答案 0 :(得分:1)
select()
方法将返回Rows
对象,该对象是Row
个对象的可移动集合。行results
变量中的行的顺序将根据您传递给orderby
方法的select()
参数而有所不同。如果您只想获得一条记录,这是select()
中的第一条记录,您可以将上述代码更改为:
results = db().select(db.project.ALL, orderby=db.project.id, groupby=db.project.status).first()
但是,如果您的意图是反转您在结果中获取行的顺序,请将波形符运算符(~
)添加到orderby
参数中,这将导致添加关系数据库中的ORDER BY ____ DESC
。例如:
results = db().select(db.project.ALL, orderby=~db.project.id, groupby=db.project.status)