我在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 :(得分: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