Django:获取两个列的汇总值 [英] Django: get aggregated value of two multipied columns
本文介绍了Django:获取两个列的汇总值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
sum()
。下面的代码自然不起作用,只是为了澄清。 是否有可能或应该使用原始SQL?
pre>
SomeModel.objects
.filter(** something)
.aggregate(Sum('one_column'*'another_col'))
解决方案
你不需要那么多的原始SQL,使用 extra()。
obj = SomeModel.objects.filter(** something) .extra(
select = {'total':'SUM(one_column * another_column)'},
)
I need to get aggregated value of two columns. So first multiple them together and then get theirs sum()
. Code below naturally does not work, it is just for clarification.
Is it somehow possible or should I use raw SQL?
SomeModel.objects
.filter(**something)
.aggregate(Sum('one_column' * 'another_col'))
解决方案
You don't need that much raw SQL using extra().
obj = SomeModel.objects.filter(**something).extra(
select = {'total': 'SUM(one_column * another_column)'},
)
这篇关于Django:获取两个列的汇总值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文