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},
... ]