有如下数据库
openID | productID | salesID |
---|---|---|
ABC | 1 | 99 |
CBA | 2 | 99 |
ABC | 2 | 99 |
ABC | 1 | 99 |
CBA | 1 | 99 |
我统计的是
salesID对应的不同的访问人员(openID)-产品(productID)对,具体意思是
如果一个openID访问同一个产品多次,则只算一次访问
但如果一个openID访问不同的产品,则算多次访问
就上面这个统计结果应该是
{
‘salesID’:99,
'visit_times':4
}
这个用django orm怎么实现?怎么写?我现在仅能写一个去重,例如仅openID去重,结果就是
{
‘salesID’:99,
'visit_times':2
}
要么就是仅产品去重
models.objects.values('salesID').distinct().annotate(visit_times=Count('openId',distinct=True))
要怎么改呢?谢谢