Django学习路17_聚合函数(Avg平均值,Count数量,Max最大,Min最小,Sum求和)基本使用

Posted hany-postq473111315

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django学习路17_聚合函数(Avg平均值,Count数量,Max最大,Min最小,Sum求和)基本使用相关的知识,希望对你有一定的参考价值。

使用方法:
类名.objects.aggregate(聚合函数名(表的列名))

聚合函数名:
Avg 平均值

Count数量

Max 最大

Min 最小

Sum 求和

示例:
Student.objects.aggregate(Max(sage))

创建消费者数据表 Customer

class Customer(models.Model):
    c_name = models.CharField(max_length = 16)
    # 消费者名字
    c_cost = models.IntegerField(default = 10)
    # 消费的金额

产生迁移文件
python manage.py makemigrations

进行迁移
python manage.py migrate

设置数据 

技术图片


 

Max 示例
def getcostmax(request):
    cost_max = Customer.objects.aggregate(Max("c_cost"))
    print(cost_max)
    return HttpResponse("获取成功")

技术图片


Min 示例
def getcostmin(request):
    cost_min = Customer.objects.aggregate(Min("c_cost"))
    print(cost_min)
    return HttpResponse("获取成功")

注:
不要忘记在 urls.py 中进行注册

技术图片


Sum 示例
def getcostsum(request):
    cost_sum = Customer.objects.aggregate(Sum("c_cost"))
    print(cost_sum)
    return HttpResponse("获取成功")

技术图片


Count 示例
def getcustomercount(request):
    customer_count = Customer.objects.aggregate(Count("c_name"))
    print(customer_count)
    return HttpResponse("获取成功")

注:
此时获取姓名即可,不用获取价格

技术图片


Avg 示例
def getcostavg(request):
    cost_avg = Customer.objects.aggregate(Avg("c_cost"))
    print(cost_avg)
    return HttpResponse("获取成功")

技术图片


导入的包

from django.db.models import Max, Min, Sum, Count, Avg
from django.http import HttpResponse
from django.shortcuts import render

# Create your views here.
from app5.models import User, Order, Grade, Customer

2020-05-11

 

以上是关于Django学习路17_聚合函数(Avg平均值,Count数量,Max最大,Min最小,Sum求和)基本使用的主要内容,如果未能解决你的问题,请参考以下文章

071:Django数据库ORM聚合函数详解-Avg

Django Aggregation聚合

SQL基础函数

聚合函数数据分组

Elasticsearch Avg聚合

Elasticsearch Avg聚合