python peewee框架 Model类型 使用groupby函数
时间: 2024-05-16 07:13:05 浏览: 162
Python ORM框架Peewee用法详解
在 peewee 框架中,可以使用 Model 类型的 `select()` 方法来执行查询操作,并可以通过 `group_by()` 方法来对结果进行分组。下面是一个示例代码:
```python
from peewee import *
db = SqliteDatabase('example.db')
class User(Model):
name = CharField()
age = IntegerField()
class Meta:
database = db
db.create_tables([User])
User.create(name='Alice', age=25)
User.create(name='Bob', age=30)
User.create(name='Charlie', age=25)
User.create(name='Dave', age=30)
query = User.select(User.age, fn.COUNT(User.id).alias('count')).group_by(User.age)
for row in query:
print(row.age, row.count)
```
在这个示例代码中,我们定义了一个名为 User 的 Model 类型,并创建了一个名为 example.db 的 SQLite 数据库。然后,我们插入了几条数据到 User 表中。接着,我们使用 `select()` 方法查询 User 表中的 age 和 COUNT(id) 两列,并使用 `group_by()` 方法按 age 分组。最后,我们遍历查询结果并打印输出。
注意,需要在查询语句中使用 `fn.COUNT()` 方法来统计每个分组中的记录数,并使用 `alias()` 方法给统计结果取一个别名,以便在查询结果中使用。
阅读全文