Comment atsortingbuer un rang avec une seule requête à plusieurs colonnes?

Disons que j'ai int colonne de prix dans la table_1 et j'ai int columnRank colonne_1 à nouveau. Maintenant est-ce possible avec une requête unique pour order par prix desc et leur assigner leur rang via row_number. Donc, le plus gros prix obtiendrait le rang 1 et le deuxième plus grand obtiendrait le rang 2 et continue. La colonne priceRank sera mise à jour ici via l'ordre des lignes returnnées. Comment puis je faire ça ? est-ce possible ? Je vous remercie.

J'utilise SQL Server 2008 R2.

;with C as ( select priceRank, row_number() over(order by price desc) as rn from Table_1 ) update C set priceRank = rn 

http://data.stackexchange.com/stackoverflow/q/119397/

Utilisez le rank si vous voulez que les liens aient le même rang et utilisez dense_rank si vous ne voulez pas d' dense_rank dans les valeurs de rang.