【问题标题】:SQL equivalent groupby in DjangoDjango中的SQL等效分组
【发布时间】:2014-04-22 08:58:48
【问题描述】:

我的表collection 有以下列

  • collection_id(主键)
  • 金额 (IntegerField)
  • 日期 (DateField)

我需要在 Django 视图中获取每天收集的总金额。必须等同于以下 SQL 查询。

select sum(amount) from collection group by date

【问题讨论】:

    标签: django django-views django-queryset


    【解决方案1】:

    您需要使用values()annotate()

    Model.objects.values('date').annotate(sum=Sum('amount')).values_list('sum', flat=True)
    

    来自文档的解释

    Order of annotate() and values() clauses

    如果values() 子句在annotate() 之前,则将使用values() 子句描述的分组来计算注释。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-21
      • 2010-10-16
      • 2020-12-24
      • 2021-05-26
      • 1970-01-01
      • 2012-05-07
      • 1970-01-01
      相关资源
      最近更新 更多