Как назначить рейтинг по одному запросу для нескольких столбцов? - PullRequest
1 голос
/ 28 ноября 2011

Допустим, у меня есть столбец int price в table_1, и у меня снова есть столбец int priceRank table_1. Теперь это возможно с помощью одного запроса, чтобы упорядочить по цене и присвоить им их ранг через row_number. Таким образом, самая большая цена получит ранг 1, а вторая по величине получит ранг 2 и будет продолжаться. Столбец priceRank будет обновляться здесь через порядок возвращаемых строк. Как я могу это сделать ? это возможно ? спасибо.

Я использую SQL Server 2008 R2.

1 Ответ

3 голосов
/ 28 ноября 2011
;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/

Используйте rank, если хотите, чтобы связи имели одинаковый ранг, и используйте dense_rank, если вы этого не делаетехотите пробелы в значениях ранга.

...