首頁 > 後端開發 > Python教學 > 如何使用聚合在 Django 中執行 Group By 查詢?

如何使用聚合在 Django 中執行 Group By 查詢?

Barbara Streisand
發布: 2024-12-06 02:51:11
原創
503 人瀏覽過

How Can I Perform Group By Queries in Django Using Aggregation?

Django 中的分組查詢

無需修補 Django 的查詢集 API,您就可以使用 ORM 的聚合功能實現分組功能。

使用值和Count

要按特定欄位對結果分組併計算每個組的出現次數,請使用以下語法:

from django.db.models import Count
result = (Members.objects
    .values('designation')
    .annotate(dcount=Count('designation'))
    .order_by()
)
登入後複製

這將傳回一個查詢集,其中結果已分組按指定欄位以及每個指定的計數。輸出將是一個字典列表,每個字典包含名稱和 dcount(名稱計數)。

在結果中包含多個欄位

要包含多個欄位在結果中,只需將它們作為參數新增至values()函數:

    .values('designation', 'first_name', 'last_name')
登入後複製

參考文獻

  • [Django文件:values()](https://docs.djangoproject.com/en/ stable/ref/models/querysets/#values)
  • [Django 文件: annotate()](https://docs.djangoproject.com/en/stable/ref/models/querysets/#annotate)
  • [Django 文件:計數](https://docs.djangoproject.com /en/stable/ref/models/lookups/#count)
  • [Django文件:聚合](https://docs.djangoproject.com/en/stable/topics/db/aggregation/)
  • [Django 文件:與預設排序或order_by() 的互動](https:/ /docs. djangoproject.com/en/stable/topics/db/aggregation/#interaction-with-default-ordering-or-orderby)

以上是如何使用聚合在 Django 中執行 Group By 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板