A. Restituzione del numero di riga per i venditori
Nell'esempio seguente viene restituito il valore di ROW_NUMBER per i venditori in AdventureWorks in base alle vendite relative all'anno in corso.
SELECT FirstName, LastName, ROW_NUMBER() OVER(ORDER BY SalesYTD DESC) AS 'Row Number', SalesYTD, PostalCode
FROM Sales.vSalesPerson
WHERE TerritoryName IS NOT NULL AND SalesYTD <> 0;
B. Restituzione di un subset di righe
Nell'esempio seguente vengono restituite righe con numeri da 50 a 60 compresi nell'ordine in data OrderDate.
USE AdventureWorks;
GO
WITH OrderedOrders AS
(
SELECT SalesOrderID, OrderDate,
ROW_NUMBER() OVER (ORDER BY OrderDate) AS 'RowNumber'
FROM Sales.SalesOrderHeader
)
SELECT *
FROM OrderedOrders
WHERE RowNumber BETWEEN 50 AND 60;
C. Utilizzo di ROW_NUMBER() con PARTITION
Nell'esempio seguente viene illustrato l'utilizzo della funzione ROW_NUMBER con l'argomento PARTITION BY.
SELECT FirstName, LastName, ROW_NUMBER() OVER(PARTITION BY PostalCode ORDER BY SalesYTD DESC) AS 'Row Number', SalesYTD, PostalCode
FROM Sales.vSalesPerson
WHERE TerritoryName IS NOT NULL AND SalesYTD <> 0;