Django聚合查询和分组查询

Django聚合查询和分组查询

聚合查询是指对一个数据表(Model)中某个字段的数据进行部分或者全部统计查询的一种方式,比如所有全部书的平均价格或者是书籍的总数量等等,在这些时候就会使用到聚合查询这种方法。而分组查询同样也属于聚合查询中的一种,只是更加复杂一点而已,在学习本节的知识时候,如果你有较好的 MySQL 知识储备,那么学习本节知识将会变得再简单不过了。下面就让我们开始学习吧。

1. 聚合查询的应用

1) 不带分组的聚合查询

对数据表计算统计值,需要使用 aggregate 方法,提供的参数可以是一个或者多个聚合函数,aggregate 是 QuerySet 的一个子句,它的返回值是一个字典类型,键是聚合的关键字,值是聚合后的统计结果。

不带分组的聚合查询是指对将全部数据进行集中统计查询,Django 定义了一些常用的聚合函数,比如求平均值(Avg)、计数(Count)、求最值(Max和Min)以 Sum 求和。它们统一定义在 django.db.models模块中,所以再使用聚合函数时,同样需要提前导入,为了方便使用,我们采用下面的方式引入:

from django.db.models import *

它的语法格式如下所示,它的返回值是一个字典,以统计结果变量名为 key,以统计值为 value:
MyModel.obje

猜你喜欢

转载自blog.csdn.net/ccc369639963/article/details/125308616