Например, рассмотрим запрос SQL:
SELECT
A.[Name],
ROW_NUMBER() OVER(ORDER BY A.[Name] ASC)
FROM
[FooTable] AS A
Здесь я наблюдаю результаты, отсортированные по A. [Имя]. Если я изменю столбец сортировки, определенный в функции ROW_NUMBER, на другой столбец, результаты снова будут отсортированы по этому столбцу.
Я ожидал, что номер строки будет присвоен строкам, но я не ожидал, что строки будут возвращены отсортированными по тем же критериям. Является ли это просто побочным эффектом выполнения запроса (в моем случае на SQL Server 2008 R2) или такое поведение гарантировано? (Я не мог найти ссылку на такую гарантию).