0

我在 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)) 对我不起作用。

4

1 回答 1

1

而不是row.COUNT(table.field1),使用row['COUNT(table.field1)']或只是row[count](见这里)。

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

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

对于降序:orderby=~count

于 2013-05-13T13:41:32.337 回答