ホームページ >バックエンド開発 >Python チュートリアル >Django で集計を使用して Group By クエリを実行するにはどうすればよいですか?

Django で集計を使用して Group By クエリを実行するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-06 02:51:11483ブラウズ

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

Django のグループ化クエリ

Django のクエリセット API にパッチを適用しなくても、ORM の集計を使用してグループ化機能を実現できます

値とカウントを使用した集計

from django.db.models import Count
result = (Members.objects
    .values('designation')
    .annotate(dcount=Count('designation'))
    .order_by()
)
特定のフィールドで結果をグループ化し、各グループの出現回数をカウントするには、次の構文を使用します。

これは、指定フィールドによってグループ化された結果を含むクエリセットを返します。各指定の数。出力は辞書のリストとなり、それぞれに指定と dcount (指定の数) が含まれます。

結果に複数のフィールドを含める

    .values('designation', 'first_name', 'last_name')
複数のフィールドを含めるには結果では、それらを引数としてvalues()に追加するだけです。 function:

    リファレンス

  • [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 ドキュメント: Count](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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。