Sql-Server
我可以得到這個 Not in Query 的等效查詢嗎
SELECT ID FROM dbo.SomeTable WHERE ID not in ( SELECT MIN(ID) FROM dbo.SomeTable GROUP BY SystemNo )
由於此查詢需要很長時間(超過一分鐘)才能執行。我猜“IN”是罪魁禍首。我想要一個產生相同結果但時間最有效的查詢。
您不會選擇那些在他們的 systemno 組中最小的 id,因此您只選擇那些在他們的組中具有較低 id 的 id:
SELECT id FROM dbo.SomeTable st1 WHERE EXISTS ( SELECT * FROM dbo.SomeTable st2 WHERE st1.SystemNo = st2.SystemNo AND st2.id < st1.i )