是否可以在 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
提交
取消