Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/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
Python 按计数高效聚合多个列_Python_Sql_Django - Fatal编程技术网

Python 按计数高效聚合多个列

Python 按计数高效聚合多个列,python,sql,django,Python,Sql,Django,给一张桌子 Table col_1 col_2 col_3 ... 1 2 4 4 2 4 4 1 2 我可以通过使用计数聚合单个列 Table.objects.filter(key=int).values('col_1').annotate(Count('col_1')) 并获得该列所需的结果: [{col_1: 4, col_1__count: 2}, {col_1: 1, col_1_

给一张桌子

Table
col_1    col_2    col_3    ...
1        2        4
4        2        4
4        1        2
我可以通过使用计数聚合单个列

Table.objects.filter(key=int).values('col_1').annotate(Count('col_1'))
并获得该列所需的结果:

[{col_1: 4, col_1__count: 2}, {col_1: 1, col_1__count: 1}]
如何高效地(一次数据库往返)对多个列执行此操作以实现以下输出

[{col_1: 4, col_1__count: 2}, {col_1: 1, col_1__count: 1}, 
 {col_2: 2, col_2__count: 2}, {col_2: 1, col_2__count: 1}, 
 {col_3: 4, col_3__count: 2}, {col_3: 2, col_3__count: 1},
 ...                                                      ]