我打破了以下聚合的局限。我想获得平均设备在日期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个查询中做到这一点的方法。
你是什么意思的“检查”,有没有与其他模型'Device'什么关系? 如果我得到它,你想得到'x'和'y'日期之间的所有统计信息,并聚合知道哪个设备检查它以总结并得到一个平均值? –
这里的日期并不重要。这些是iOS/Android统计信息,device_id是指设备uuid,但可以将其视为user_id。我想知道平均用户访问量有多少页(= distinct page_id)。 – tdma
因此,您希望获得给定device_id的每个统计信息,并且据我所知,您希望知道每个访问过的(每次访问一次)UNIQUE页面的设备访问过多少页。迭代所有设备并获得唯一访问页面的平均值? –