就像下面的查询:
select sum(T.a), sum(T.b) from Table T group by T.c , T.d
Run Code Online (Sandbox Code Playgroud)
django有什么办法支持这种查询吗?
小智 5
这很接近:
class Test(models.Model):
class Meta:
app_label = 'ignore'
db_table = 'T'
a = models.IntegerField()
b = models.IntegerField()
c = models.IntegerField()
d = models.IntegerField()
result = Test.objects.values('c', 'd').annotate(Sum('a'), Sum('b'))
print str(result.query)
Run Code Online (Sandbox Code Playgroud)
结果:
SELECT"T"."c","T"."d",SUM("T"."a")AS"a_ sum",SUM("T"."b")AS"b _sum"FROM" T"GROUP BY"T"."c","T"."d","T"."c","T"."d"
为什么GROUP BY值重复,我不知道......