1
如何使用Django ORM表示這個簡單的SQL?Django自引用嵌套QuerySets
SELECT * FROM alerts a1 WHERE timestamp = (
SELECT MAX(timestamp) FROM alerts a2
WHERE a1.category = a2.category
AND a1.type = a2.type
)
在這種情況下,警報表所發生的一切,對每個類別標籤的可能警告的歷史 - 並且查詢返回的最新警報爲每個類別。
關於使用pk的好主意。 – Evgeny 2011-03-22 08:00:56
它實際上只有一個單一的查詢與嵌套選擇。內部選擇是分組類別和類型的集合,這正是我在OP中要求做的。 SELECT * FROM alerts where ID IN( SELECT MAX(U0.id)AS maxid FROM alerts U0 GROUP BY U0。「category」,U0。「subtype」 ) – Evgeny 2011-03-22 08:13:02