2
我有一個圖形代表一個MySQL表爲:如何僅獲取mySQL圖形上的傳入邊緣?
uidFrom, uidTo
1 4
4 1
1 5
5 1
6 1 <- only incoming edge
如何獲得只有「6,1」對,只有「1」作爲輸入?我的意思是,如何查詢唯一的傳入邊緣節點「1」(不是傳入和傳出像4或5)?
在此先感謝;
我有一個圖形代表一個MySQL表爲:如何僅獲取mySQL圖形上的傳入邊緣?
uidFrom, uidTo
1 4
4 1
1 5
5 1
6 1 <- only incoming edge
如何獲得只有「6,1」對,只有「1」作爲輸入?我的意思是,如何查詢唯一的傳入邊緣節點「1」(不是傳入和傳出像4或5)?
在此先感謝;
你可以這樣說:
SELECT uidFrom, uidTo
FROM Graph g
WHERE NOT EXISTS (
SELECT * FROM Graph rev WHERE rev.uidFrom=g.uidTo AND rev.uidTo=g.uidFrom
)
這裏是一個demo on sqlfiddle。
它完美的作品。但是如何表現? –
@ vicmota1性能取決於你的索引:如果你有'(uidFrom,uidTo)'上的索引或'uidFrom'和'uidTo'上的兩個單獨索引,你應該沒問題。 – dasblinkenlight