【问题标题】:django.db aggregation across multiple fields跨多个字段的 django.db 聚合
【发布时间】:2014-12-22 21:25:56
【问题描述】:

我有一张这样的桌子:

ID state  A    B    C
----------------------
1   MD    x    x    x

2   MD    x    x    x

3   WA    x    x    x

4   KY    x    x    x

我想按状态过滤,并返回 B 和 C 的总和。我可以像这样单独获得 B 或 C 的总和:

Table.objects.filter(state=MD).aggregate(x=Sum('B'))

我可以像这样获取 B 和 C 的数据:

Table.objects.filter(state=MD).values('B', 'C')

我正在寻找一种方法来组合这两个操作而不使用原始 SQL。

【问题讨论】:

    标签: django python-3.x


    【解决方案1】:

    不是我想要的,但很接近:

    sum(Tables.objects.filter(state=MD).aggregate(x=Sum('B'), y=Sum('C')).values())
    

    【讨论】:

    • 你的答案能涵盖 NoneType 对象吗?
    猜你喜欢
    • 2015-12-20
    • 2014-12-29
    • 2018-06-02
    • 1970-01-01
    • 1970-01-01
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    • 2018-06-16
    相关资源
    最近更新 更多