gpt4 book ai didi

mysql - 从 Django 中的两个表获取 MAX() ——相当于使用 SQL UNION

转载 作者:行者123 更新时间:2023-11-29 14:33:14 25 4
gpt4 key购买 nike

假设我有两个表,它们都有一个 created_datetime 字段。我怎样才能得到MAX(created_datetime),同时考虑到它们。在 SQL 中,这是通过 UNION

完成的

我更喜欢使用 Django 模型来执行此操作,但如果需要,我可以使用原始 SQL 来执行此操作。

最佳答案

您可以尝试以下操作:

max(Model1.objects.aggregate(max_date = Max('created_datetime'))['max_date'], Model2.objects.aggregate(max_date = Max('created_datetime'))['max_date'])

这不会执行UNION,但您会得到所需的内容。

注意:max 是一个 Python 函数,Max 是一个 django 模型函数(
from django.db.models.aggregates import Max
必须用于 Max)。

您还可以执行以下操作:

max(Model1.objects.all().values_list('created_datetime',flat=True).extend(Model2.objects.all().values_list('created_datetime',flat=True)))

此处,尚未使用聚合(因此未使用 Max)。 python的max仍然被使用,类似sql的UNION之类的东西仍然没有看到,但是,已经使用了2个列表的连接。

您可以查看最适合您的方案或其他第三种解决方案(如果有)。我真的很想知道比上面更好的解决方案。 :)

您还可以引用link看看是否对您有帮助。

关于mysql - 从 Django 中的两个表获取 MAX() ——相当于使用 SQL UNION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9627427/

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