【发布时间】:2015-12-10 06:25:26
【问题描述】:
我在将查询传输到 django 时遇到问题。 在 sqlite3 中它看起来像这样:
SELECT A, MIN(B), MAX(B) from table GROUP BY A
这将输出来自 A 的唯一值以及来自 B 的一系列值 关于如何解决这个问题的任何提示?在 django 中甚至有可能吗?
【问题讨论】:
标签: django django-models sqlite
我在将查询传输到 django 时遇到问题。 在 sqlite3 中它看起来像这样:
SELECT A, MIN(B), MAX(B) from table GROUP BY A
这将输出来自 A 的唯一值以及来自 B 的一系列值 关于如何解决这个问题的任何提示?在 django 中甚至有可能吗?
【问题讨论】:
标签: django django-models sqlite
您可以将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。
【讨论】: