我有使用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