我有使用TOP和Order By的全文搜索。我在另一個數據庫中使用了相同的查詢,並且我的訂單始終保持不變。出於某種原因,在不同的數據庫中,訂單似乎總是有所變化。不是很多,但只是一點。這是它看起來像Order By子句似乎不起作用
SELECT TOP 20 * FROM
(
SELECT DISTINCT CandidateID, [Resume], FirstName, MiddleName, LastName,
ROW_NUMBER() OVER (ORDER BY CreatedDate DESC) AS num
FROM dbo.tblCandidates WHERE (CONTAINS(([resume]), @SearchItem))
) AS a
WHERE num > @start
任何人都可以想到一個理由,在這種情況下Order By子句不會總是工作嗎?
謝謝!
'CreatedDate'包含重複項? – 2013-03-13 01:24:59
我很好奇,如果你的其他數據庫有'ORDER BY'列索引。你有沒有嘗試在你的WHERE下面添加一個'ORDER BY num'? – 2013-03-13 01:26:47
您是否在同一數據上多次運行查詢時,結果的順序發生變化? – DeanOC 2013-03-13 01:28:10