DjangoでGROUP BYをする

DjangoではannotateをつかってGROUP BYをおこなうことができます

from django.db.models import Count
from your_app.models import YourModel

result = YourModel.objects.annotate(count=Count('field_name'))

その他の集計関数(Min,Maxなど)を使う

from django.db.models import Min,Max

Countと同じように使えます。

Count: 指定されたフィールドの値の数をカウントします。例えば、Count('field_name') は、特定のフィールドにおける値の数をカウントします。

Sum: 指定された数値フィールドの値の合計を計算します。例えば、Sum('field_name') は、フィールドの値の合計を計算します。

Avg: 指定された数値フィールドの平均値を計算します。例えば、Avg('field_name') は、フィールドの平均値を計算します。

Max: 指定されたフィールドの最大値を見つけます。これは数値、日付、時刻のフィールドに適用できます。

Min: 指定されたフィールドの最小値を見つけます。これも、数値、日付、時刻のフィールドに適用できます。

Variance: 指定されたフィールドの分散を計算します。例えば、Variance('field_name') は、数値フィールドの分散を計算します。

StdDev: 指定されたフィールドの標準偏差を計算します。例えば、StdDev('field_name') は、数値フィールドの標準偏差を計算します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です