Django:聚合函式

未来可期_Durant發表於2024-08-20

作用:對查詢結果進行聚合操作(等同資料庫的聚合函式)

函式作用
sum 求和
count 計數
avg 平均值
max 最大值
min 最小值

1.直接使用

直接使用聚合函式查詢返回值是一個數字

計數:count

# 統計id大於3的新聞類別數
TypeInfo.objects.count()

求和:所有新聞的閱讀總數

TypeInfo.objects.all.sum('read')

2.使用aggregate

使用aggregate方法來使用聚合聚合函式, 返回值是一個字典

# 使用前需先匯入聚合類
from django.db.models import Sum,Count,Max,Min,Avg

計數:Count

#查詢所有新聞類別的總數
TypeInfo.objects.all().aggregate(Count('id'))
# 注意點aggregate裡面的函式,第一個字母要大寫,屬性項也要用引號括起來

求和:Sum

# 查詢所有新聞閱讀量的總和
NewsInfo.objects.all().aggregate(Sum('read'))

相關文章