Betrachten Sie beispielsweise die SQL-Abfrage:
SELECT
A.[Name],
ROW_NUMBER() OVER(ORDER BY A.[Name] ASC)
FROM
[FooTable] AS A
Hier beobachte ich die zurückgegebenen Ergebnisse sortiert nach A. [Name]. Wenn ich die in der Funktion ROW_NUMBER definierte Sortierspalte in eine andere Spalte ändere, werden die Ergebnisse erneut nach dieser Spalte sortiert.
Ich hatte erwartet, dass die Zeilennummer den Zeilen zugewiesen wird, aber ich hatte nicht erwartet, dass die Zeilen nach denselben Kriterien sortiert zurückkommen. Ist dies lediglich ein Nebeneffekt der Ausführung der Abfrage (in meinem Fall unter SQL Server 2008 R2) oder ist dieses Verhalten garantiert? (Ich konnte keinen Hinweis auf eine solche Garantie finden).