Listing 5: Code That Ranks Values Returned by a SELECT Statement CREATE PROCEDURE Sales.sp_SalesRanking @year SMALLINT AS SELECT -- BEGIN CALLOUT A ROW_NUMBER() OVER(ORDER BY Amount DESC) AS RowNumber, -- END CALLOUT A -- BEGIN CALLOUT B RANK() OVER(ORDER BY Amount DESC) AS Rank, -- END CALLOUT B -- BEGIN CALLOUT C DENSE_RANK() OVER(ORDER BY Amount DESC) AS DenseRank, -- END CALLOUT C -- BEGIN CALLOUT D NTILE(3) OVER(ORDER BY Amount DESC) AS NTile, -- END CALLOUT D DistrictName AS District, Amount FROM Sales.AnnualSales WHERE SalesYear = @year ORDER BY Amount DESC;