Django模型同时聚合和和计数

标签 django count sum aggregate django-2.0

所以我有一个像

这样的查询
SELECT sum(project_shares) as shares, count(*) as count FROM vv_projects

django 2.0 中是否有类似下面的语法

Projects.objects.aggregrate(Sum('project_shares'),Count('*'))

输出如下

{'project_shares_sum':9,'count':8}

在 django 2.0 中,计数使用聚合外键引用,所以我很困惑。 如果没有,我添加另一个 orm 查询行来获取计数。

最佳答案

您提供的语法应该有效。您所要做的就是将 Count('*') 替换为 Count('id')Count('pk') 即可计算所有条目。

Projects.objects.aggregrate(Sum('project_shares'), Count('pk'))

输出如下:

{'project_shares__sum':9,'pk__count':8}

关于Django模型同时聚合和和计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50233529/

相关文章:

django - 流式 HTTP 响应,刷新到浏览器

Django:在syncdb上强制表创建顺序

python - `.create()` 方法默认不支持可写嵌套字段。

php - 如何返回具有不同 WHERE 定义的多个 COUNT?

c# 如何不将定界符算作一个单词

php - 获取数字字符串中所有数字的总和

Django 管理内联表单,具有只读旧值并允许添加新的内联值

ruby - 在 Ruby 中构建交集矩阵

java - 使用 SharedPrefernces 对来自 RecyclerView 的整数求和

MySQL SUM() 基于多个条件