私は次のアグリゲーションに頭を壊しています。私は、平均デバイスが日付xとyとの間でチェックする異なるページの量を取得したい。モデルのDjangoアグリゲーション:ユニークなフィールドの平均出現回数
擬似コード:
class Statistic:
device_id = int
date = date
page_id = int
誰もがこれを完了する方法を知っている:
Statistic.objects.filter(date__gte=x,date__lte=y).???
UPDATE:
:質問が明確でない場合には、ここでの例であります- 次のような固有のdevice_id値をすべて取得します。テーブル。
- これらの固有のdevice_id値のそれぞれについて、テーブル内で発生する一意のpage_id値の数をカウントします。これらの値をリストに追加します。
- そのリストの平均を計算します。
しかし、これはループ内のクエリであり、各device_idの新しいクエリは明らかに効率的ではありません。私は1-2のクエリでそれを行う方法を探しています。私はあなたがページのxとyの日付の間の各デバイスのチェックの平均数を取得したい正しくあなたの質問を理解していれば
あなたは「チェック」とはどういう意味ですか、別のモデル 'Device'か何かと関係があるのでしょうか? もし私が得たならば、 'x'と' y'の日付の間にすべてのStatisticを取得し、集計して平均を得るためにどのデバイスがそれをチェックしたのかを知りたいでしょうか? –
日付の重要性はあまりありません。これらはiOS/Androidの統計情報であり、device_idはデバイスuuidを参照していますが、user_idと見なすことができます。私は平均的なユーザーが何ページ(= distinct page_id)を訪れているか知りたい。 – tdma
そのため、特定のdevice_idの各統計情報を取得したいと思います。ユニークなページが1回訪問された(1回)ごとに、そのデバイスが訪問したページ数を知りたいと思います。すべてのデバイスを繰り返し、固有の訪問済みページの平均を取得しますか? –