Użyj kilku klauzul ROW_NUMBER na kolumnę i wybierz odpowiednią:
....
ROW_NUMBER() OVER (ORDER BY [Column1]) as rn1,
ROW_NUMBER() OVER (ORDER BY [Column2]) as rn2,
ROW_NUMBER() OVER (ORDER BY [Column3]) as rn3,
ROW_NUMBER() OVER (ORDER BY [Column4]) as rn4
....
LUB użyj wyrażenia CASE. Uwaga:wszystkie typy danych muszą być kompatybilne
ROW_NUMBER() OVER (ORDER BY CASE @sort
WHEN 1 THEN [Column1]
WHEN 1 THEN [Column2]
WHEN 1 THEN [Column3]
...
END
LUB Jeśli naprawdę potrzebujesz dowolnego numeru wiersza, zrób to:
ROW_NUMBER() OVER (ORDER BY (SELECT 1)) as rn