Django 查询模型 - GROUP BY、MIN、MAX
Posted
技术标签:
【中文标题】Django 查询模型 - GROUP BY、MIN、MAX【英文标题】:Django query model - GROUP BY, MIN, MAX 【发布时间】:2015-12-10 06:25:26 【问题描述】:我在将查询传输到 django 时遇到问题。 在 sqlite3 中它看起来像这样:
SELECT A, MIN(B), MAX(B) from table GROUP BY A
这将输出来自 A 的唯一值以及来自 B 的一系列值 关于如何解决这个问题的任何提示?在 django 中甚至有可能吗?
【问题讨论】:
【参考方案1】:您可以将values()
用于GROUP BY
,将annotate()
用于MIN
和MAX
:
from django.db.models import Min, Max
MyModel.objects.values('A').annotate(min_b=Min('B'), max_b=Max('B'))
您将获得一个字典列表,其中包含键 A
、min_b
和 max_b
。
【讨论】:
以上是关于Django 查询模型 - GROUP BY、MIN、MAX的主要内容,如果未能解决你的问题,请参考以下文章
带有注释的Django查询集,为啥将GROUP BY应用于所有字段?
Django ORM 查询 GROUP BY 由 MAX 组合的多个列