Order By Clause, похоже, не работает

У меня есть полнотекстовый поиск, который использует TOP и 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 не всегда будет работать в этом случае?

Благодаря!

У вас нет предложения ORDER BY (тот, что внутри предложения OVER() используется для определения ROW_NUMBER() и обычно не имеет никакого влияния на порядок вывода). Если вы наблюдали конкретный порядок этого запроса в других системах, это было чисто случайным и на него нельзя положиться. Если вам нужен конкретный заказ, вам нужно добавить 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 num; 
Interesting Posts

Почему нам нужна временная таблица в SQL Server 2016, поскольку у нас есть CDC или CT?

Как узнать, что есть порты на веб-сайте Azure MVC?

Недопустимое значение символа для спецификации литья (# 0). Я знаю проблему, но не как ее решить.

Как вы можете узнать, что запустило диалог Service Broker?

Обновление таблицы с ближайшим значением из матрицы поиска

Как экспортировать результаты запроса в csv в Microsoft SQL Server Management Studio?

Хорошо ли создать некластеризованный индекс в столбце типа varchar?

SQL Server 2012 Изменение ошибки сбора данных 14234

SQL Server datetime2 в OPENQUERY

Почему команда CREATE TABLE не работает в пользовательской транзакции?

Как найти группу строк таблицы, которые соответствуют другой таблице в SQL?

как установить тайм-аут запроса из строки подключения SQL

DbCommand и параметризованный SQL, ORACLE и SQL Server

Понимание Unicode и кодовых страниц в SQL Server

Эквивалент SQL Server Oracle USER

Давайте будем гением компьютера.