使用peewee实现上述需求,可以按照以下步骤操作:

  1. 定义数据库模型类,表示表A的结构和字段。
  2. 创建数据库连接。
  3. 执行SQL查询,根据P1字段分组,统计不同P1的数据条数,P2值为0的个数,P2值为1的个数。

以下是示例代码:

from peewee import *

# 定义数据库模型类
database = SqliteDatabase('mydatabase.db')

class TableA(Model):
    p1 = IntegerField()
    p2 = IntegerField()
    p3 = CharField()

    class Meta:
        database = database
        table_name = 'A'

# 创建数据库连接
database.connect()

# 执行SQL查询
result = TableA.select(TableA.p1, fn.COUNT(TableA.p1).alias('count_p1'), fn.SUM(Case(
    When(TableA.p2 == 0, then=1),
    default=0
)).alias('count_p2_0'), fn.SUM(Case(
    When(TableA.p2 == 1, then=1),
    default=0
)).alias('count_p2_1')).group_by(TableA.p1)

# 打印查询结果
for row in result:
    print(f'P1: {row.p1}, Count P1: {row.count_p1}, Count P2=0: {row.count_p2_0}, Count P2=1: {row.count_p2_1}')

以上代码中,TableA为表A对应的数据库模型类,p1p2p3分别对应表A的字段。fn.COUNTfn.SUMCaseWhen等函数用于执行聚合查询和条件判断。group_by函数用于按照P1字段分组。最后使用循环遍历查询结果并打印出来

sqlite 中有一张表A 表A有字段 P1 P2 P3 P2 有值 0 1 2 要求根据P1字段分组统计不同P1的数据条数 P2 值 为0的个数 P2 的值 为1的个数请使用peewee实现。并给出示例代码

原文地址: https://www.cveoy.top/t/topic/iap8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录