17、Django-聚合查询-原生sql语句操作raw()

聚合查询:整表聚合和分组聚合

 

1、整表聚合

-- 不带分组的聚合查询是指:将全部数据进行集中统计查询
-- 需要导入:
  -- from django.db.models import *
  -- 聚合函数:Sum,Avg,Count,Max,Min

  -- 语法:
    -- <model_name>.objects.aggregate(结果变量名=聚合函数('字段名'))    --结果变量名 相当于 as 别名
       -- 返回:结果变量名和值组成的字典 
          -- {"结果变量名": 值}

 

 

2、分组聚合

分组聚合:指通过计算查询结果中每一个对象所关联的对象集合、从而得出总计值(也可以是平均值或总和)、即为查询集的每一项生成聚合

-- 语法:
  -- QuerySet.annotate(结果变量名=聚合函数('字段名') )
    -- 返回:QuerySet对象

如:
 -- 先查:bs = Book.objects.values('pub')
 -- 再分组:bs.annotate(res=Count('id'))    --统计

 

 

原生数据库操作-只能做查询

 

使用游标:cursor

posted @ 2024-07-09 22:32  little小新  阅读(13)  评论(0编辑  收藏  举报