【发布时间】:2018-05-19 16:32:48
【问题描述】:
这是一个查询:
speed_by_computer = ChartPoint.objects.filter(
date__gte=start,
date__lt=end,
).values('computer_id') \
.annotate(max_speed=Max('speed'))
这是由该查询生成的 SQL 查询:
SELECT "computer_id", MAX("speed") AS "max_speed"
FROM "api_chartpoint"
WHERE (
"date" >= 2018-05-17 08:00:00+00:00 AND
"date" < 2018-05-17 09:00:00+00:00
)
GROUP BY "computer_id", "date"
ORDER BY "date" DESC
请注意,GROUP BY 子句中有一个意外的date。为什么会在这里?这是我的预期:
SELECT "computer_id", MAX("speed") AS "max_speed"
FROM "api_chartpoint"
WHERE (
"date" >= 2018-05-17 08:00:00+00:00 AND
"date" < 2018-05-17 09:00:00+00:00
)
GROUP BY "computer_id"
【问题讨论】:
标签: django django-models django-orm