在web2py中的计数字段上排序

时间:2013-05-13 04:29:30

标签: sorting web2py

我在web2py中有以下代码。我正在尝试检索表中有多少类型的项目以及每个项目中有多少项目。

count = db.table.field1.count()
rows=db((some criteria).select(db.table.field2, count, groupby=db.table.field2)
print rows

这是印刷品:

table.field2, COUNT(table.field1)
4,3
6,4
9,2

现在我想通过计数字段从高到低排序,结果将是:

6,4
4,3
9,2

最好的方法是什么? rows = rows.sort(lambda row:row.COUNT(table.field1))对我不起作用。

1 个答案:

答案 0 :(得分:1)

而不是row.COUNT(table.field1),请使用row['COUNT(table.field1)']row[count](请参阅here)。

注意,您也可以让数据库使用orderby参数进行排序:

rows = db(query).select(db.table.field2, count,
                        groupby=db.table.field2, orderby=count)

按降序排列:orderby=~count