gpt4 book ai didi

python - Django ORM查询GROUP BY多列合并MAX

转载 作者:IT老高 更新时间:2023-10-29 00:21:35 28 4
gpt4 key购买 nike

我正在使用 Django 和 MySQL。我有一个类似于以下的模型:

class MM(models.Model):
a = models.IntegerField()
b = models.IntegerField()
c = models.DateTimeField(auto_now_add=True)

我有多个行,a 等于 b,我想执行以下 SQL 查询:

SELECT a, b, MAX(c) AS max FROM MM GROUP BY b, a;

如何使用 Django ORM 完成此操作?我尝试过使用注释的不同方法,但到目前为止运气不错。

非常感谢!

最佳答案

我想你可以这样做:

MM.objects.all().values('b', 'a').annotate(max=Max('c'))

请注意,您需要导入一些东西才能使用 Max:from django.db.models import Max

values('b', 'a') 将给出 GROUP BY b, a 并且 annotate(...) 将计算查询中的 MAX。

关于python - Django ORM查询GROUP BY多列合并MAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15764245/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com