我们可以通过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)
SELECT 查询语句如下:
('SELECT "t1"."City", Count("t1"."City") AS "count" FROM "contacts" AS "t1" GROUP BY "t1"."City"', [])
输出
根据联系人表中的示例数据,示例结果如下:
Chennai 1
Delhi 2
Indore 1
Mumbai 1
Nagpur 1
Nasik 3
Pune 1
酷客网相关文章:
评论前必须登录!
注册