たとえば、SQLクエリについて考えてみましょう。
SELECT
A.[Name],
ROW_NUMBER() OVER(ORDER BY A.[Name] ASC)
FROM
[FooTable] AS A
ここでは、A。[Name]でソートされて返される結果を観察します。ROW_NUMBER関数で定義されたソート列を別の列に変更すると、結果はその列でソートされます。
行番号が行に割り当てられることを期待していましたが、同じ基準で行がソートされて戻ってくるとは思っていませんでした。これは単にクエリがどのように実行されているか(SQL Server 2008 R2の場合)の副作用ですか、それともこの動作は保証されていますか?(私はそのような保証への言及を見つけることができませんでした)。