Bu fonksiyon genelde belirli bir sıranın bulunmadığı tablolarda sanal bir kolona sıra numarası vererek sıralı veri sorgulamak için kullanılır. Bu fonksiyon OVER ile birlikte kullanılır. Örneğin AdventureWorks veritabanındaki Production.Product tablosundaki ProductID ler sıralı değildir.
Şimdi bu tabloya sanal bir kolon oluşturup sıra numarası verelim. Bu işlem için aşağıdaki sorguyu kullanabilirsiniz.
select ROW_NUMBER() over(order by ProductID) as RowIndex, ProductID, Name, ProductNumber from Production.Product
Sorguda RowIndex adında yeni bir kolon ekledik ve Product tablosundaki herhangi bir kolona göre sıra numaralarını oluşturduk. Order by varsayılan olarak asc yani küçükten büyüğe doğru sıralayacaktır. Tablo sorgu sonucunda aşağıdaki şekilde oluşması gerekir.
Kolay gelsin.