2013-05-13 32 views
0

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

回答

0

而不是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

+0

谢谢,工作完美! – furayo 2013-05-13 22:53:36