Как написать этот SQL-запрос правильно? - PullRequest
0 голосов
/ 18 марта 2011

ОБНОВЛЕНИЕ пользователей SET Place = (ВЫБЕРИТЕ СЧЕТЧИК (*) + 1 AS [значение] ОТ [Пользователи] КАК [t0] ГДЕ COALESCE ([t0]. [Votes], 0)> COALESCE (u.Votes, 0) )

Таблица структуры пользователей:

Голосов int, Place int

Я просто хочу установить место для каждого пользователя. Например: если у вас большое количество голосов, то вы на первом месте. Если у вас мало голосов, значит вы на последнем месте.

1 Ответ

1 голос
/ 18 марта 2011

Для SQL Server 2005 +

;with tmp as (
   select *, ROW_NUMBER() over (order by votes desc) rownum
   from users)
update tmp
set place = rownum
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...