Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django-按仅返回值和分组_Django_Group By - Fatal编程技术网

Django-按仅返回值和分组

Django-按仅返回值和分组,django,group-by,Django,Group By,在Django中,如何执行以下SQL: select sum(valor_aprovado) as vla from convenios group by ano order by ano 预期结果: sum_value | -------------| 472837446.59| 163438615.51| 448397994.27| 959203234.57| 739555948.32| 我使用以下语法,但我只希望它返回VLA字段,而不是ANO Convenios.obj

在Django中,如何执行以下SQL:

select sum(valor_aprovado) as vla
from convenios
group by ano
order by ano
预期结果:

sum_value    |
-------------|
 472837446.59|
 163438615.51|
 448397994.27|
 959203234.57|
 739555948.32|
我使用以下语法,但我只希望它返回VLA字段,而不是ANO

Convenios.objects.values_list('ano').order_by('ano').annotate(vla=Sum('valor_aprovado')
结果:

[(2002, Decimal('36246385105.92')), (2003, Decimal('163442260.52')), (2004, Decimal('447464292.52')), (2005, Decimal('948880015.70')), (2006, Decimal('737373593.32')), (2007, Decimal('1449818896.88')), (2008, Decimal('1812889287.82')), (2009, Decimal('2306375485.81')), (2010, Decimal('8730479758.56')), (2011, Decimal('1662088139.88')), (2012, Decimal('1886396504.43')), (2013, Decimal('535507602.69')), (2014, Decimal('4279003118.70')), (2015, Decimal('1883240765.95')), (2016, Decimal('1245291830.72')), (2017, Decimal('2161176688.18')), (2018, Decimal('1346548803.43'))]
你能帮我吗?
谢谢

您可以尝试以下查询

Convenios.objects.values_list('ano').order_by('ano').annotate(vla=Sum('valor_aprovado')).values('vla')

您可以尝试以下查询

Convenios.objects.values_list('ano').order_by('ano').annotate(vla=Sum('valor_aprovado')).values('vla')