Peewee - 计数和聚合
我们可以通过附加count() 方法来查找在任何SELECT 查询中报告的记录数。 例如,以下语句返回 Contacts 表中 City='Nasik' 的行数。
qry=Contacts.select().where (Contacts.City=='Nasik').count() print (qry)
示例
SQL 在 SELECT 查询中有 GROUP BY 子句。 Peewee 以 group_by() 方法的形式支持它。 以下代码返回 Contacts 表中名称的城市计数。
from peewee import * db = SqliteDatabase('mydatabase.db') class Contacts(BaseModel): RollNo = IntegerField() Name = TextField() City = TextField() class Meta: database = db db.create_tables([Contacts]) qry=Contacts.select(Contacts.City, fn.Count(Contacts.City).alias('count')).group_by(Contacts.City) print (qry.sql()) for q in qry: print (q.City, q.count)
Peewee 发出的 SELECT 查询将如下所示 −
('SELECT "t1"."City", Count("t1"."City") AS "count" FROM "contacts" AS "t1" GROUP BY "t1"."City"', [])
输出
根据 Contacts 表中的示例数据,显示以下输出 −
Chennai 1 Delhi 2 Indore 1 Mumbai 1 Nagpur 1 Nasik 3 Pune 1