SQLUSA
BI TRIO 2008
FREE TRIAL
CLICK HERE TO ORDER

SQL Server 2008 Best Practices
SQL Server 2005 Best Practices

How to construct multiple rankings of a data set?

Execute the following Microsoft SQL Server Transact-SQL script in Query Editor to rank the data set four ways and use one of the ranking to sort the result set.

USE AdventureWorks

GO

-- SQL rank function - SQL OVER clause

SELECT   ContactID,

         FirstName,

         LastName,

         Title = isnull(Title,''),

         RANK()

           OVER(ORDER BY FirstName + LastName)       AS Rank1,

         RANK()

           OVER(ORDER BY LastName + ', ' + FirstName, Title) AS Rank2,

         RANK()

           OVER(ORDER BY LastName + ', ' + FirstName DESC) AS Rank3,

         RANK()

           OVER(ORDER BY LastName DESC, FirstName DESC) AS Rank4

FROM     Person.Contact

WHERE    LEFT(LastName,1) = 'U'

ORDER BY Rank2

GO

/* Partial results

 

ContactID   FirstName   LastName    Title Rank1 Rank2 Rank3 Rank4

8824        Masaki      Umeda             5     13    13    13

1381        Christopher Underwood         1     17    9     9

21413       Christopher Underwood         1     17    9     9

81751       Christopher Underwood         1     17    9     9

101781      Christopher Underwood         1     17    9     9

20913       Sunil       Uppal             21    21    1     1

*/

The World Leader in SQL Server 2008 Training
The future is just a CLICK away. Your future!
 
SQLUSA.com Home Page

Copyright 2005-2010, SMI Corp. All Rights Reserved.

SQL Server 2008 is a program product of Microsoft Corporation.
SQL Server 2005 is a program product of Microsoft Corporation.
SQL Server 2000 is a program product of Microsoft Corporation.