今天的主要讲解的主题的是关于聚合查询,聚合查询也是分为整体查询和分组查询,接下来我们仔细讲解。
1.什么是聚合查询?
聚合查询就是对查询出的结果进行统计,最常见的聚合函数有:
sum(列名) 求和
max(列名) 最大值
min(列名) 最小值
avg(列名) 平均值
2.Django聚合查询的方法:
聚合查询也是分为整体查询和分组查询,因此我们分为两个例题进行示范操作:
整体查询语法:
1)导入聚合函数:from django.db.models import 聚合函数
2)整体查询:类名.objects.aggregate(结果变量名=聚合函数(‘列名’))
示例:
查询数据库中有几条数据:
from django.db.models import count
Book.objects.aggregate(id_count=count(‘id’))
分组查询语法:
1)导入聚合函数:from django.db.models import 聚合函数
2)对需要分组的数据进行查询:变量名=类名.objects.values(‘列名’)3)分组查询:变量名.objects.annotate(结果变量名=聚合函数(‘列名’))
示例:
查询出不同出版社,各自的数量:
from django.db.models import count
books=Book.objects.values(‘pub’)
books.objects.annotate(id_count=count(‘id’))