我想把下面的原始sql代码改成Django ORM。 我该怎么办?你知道吗
SELECT ad_id, count(distinct(user_id))
FROM reachcount
GROUP BY ad_id;
我喜欢这个
queryset = ReachCount.objects.values('ad_id').annotate(Count('user_id',distinct=True))
但这不是我想要的结果。所以我用查询集.query. 下面的代码是原始代码
SELECT `test_reachcount`.`ad_id`, COUNT(DISTINCT `test_reachcount`.`user_id`) AS `user_id__count`
FROM `test_reachcount`
GROUP BY `test_reachcount`.`ad_id`, `test_reachcount`.`user_id`
ORDER BY `test_reachcount`.`ad_id` ASC, `test_reachcount`.`user_id` ASC
如果我去掉groupby子句中的“test_reachcount
.user_id
”。
我想这个代码和我想要的相似。你知道吗
让我们总结一下这个问题。你知道吗
test_reachcount
.user_id
会自动添加?你知道吗test_reachcount
.user_id
代码。你知道吗谢谢你阅读这个长问题。你知道吗
我的模特是这样的
class ReachCount(models.Model):
ad_id = models.CharField(max_length=10)
user_id = models.CharField(max_length=50)
reg_date = models.DateTimeField(auto_now_add=True)
class Meta:
ordering=['ad_id','user_id']
我附上我的样本数据。你知道吗
广告id用户id
1艾扎
2艾扎
3艾扎
4艾扎
1安德烈
2安德烈
3安德烈
4安德烈
1安德烈
1安德烈
1博尼塔
2博尼塔
3博尼塔
2博尼塔
2比12
3比12
4爱德华
5爱德华
1加仑
3加仑
4加仑
7疾驰
3加仑10
6加仑10
8加仑99
2 jihoonpark1
5 jihoonpark1
6 jihoonpark1
5 rhewster公司
6个rhewster
7流变仪
2总计
4总计
9总计
10艾扎
10安德烈
目前没有回答
相关问题 更多 >
编程相关推荐