是否可以在 django 中进行以下 sql 查询select * from ( select * from users) order by id这只是最小的例子。我有一个很长的子查询而不是select * from users. 但我不明白如何将它插入子查询。更新:来自doc的子查询不适合,因为它构建了以下请求SELECT "post"."id", ( SELECT U0."email" FROM "comment" U0 WHERE U0."post_id" = ("post"."id") ORDER BY U0."created_at" DESC LIMIT 1) AS "newest_commenter_email" FROM "post"并且这个子查询只能返回一个值(.values('email'))。建设select (subquery) as value from table代替select value from (subquery)
2 回答
Qyouu
TA贡献1786条经验 获得超11个赞
制作子查询本质上是设置两个查询并使用一个查询来“提供”另一个查询:
from django.db.models import Subquery
all_users = User.objects.all()
User.objects.annotate(the_user=Subquery(all_users.values('email')[:1]))
这与您提供的内容或多或少相同。您可以在这里尽可能复杂,但使用子查询的最佳来源是文档
三国纷争
TA贡献1804条经验 获得超7个赞
我会使用 python 连接器连接到 postgreSQL -http://www.postgresqltutorial.com/postgresql-python/query/
这就是我为 mysql 所做的,我认为没有尝试使用 postgresql
添加回答
举报
0/150
提交
取消