У меня есть следующий код в 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
furayo
13 Май 2013 в 08:29
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
1
Anthony
13 Май 2013 в 17:41
Похожие вопросы
Новые вопросы
sorting
Сортировка - это процесс наложения определенного порядка на коллекцию предметов.