У меня есть столбец в моей базе данных под названием PositionThisWeek.
Я хочу присвоить ранг этому столбцу из значений другого столбца под названием «Очки».
Ранг должен быть от 1 и выше, как я могу обновить столбец «Позиция»?
У меня есть столбец в моей базе данных под названием PositionThisWeek.
Я хочу присвоить ранг этому столбцу из значений другого столбца под названием «Очки».
Ранг должен быть от 1 и выше, как я могу обновить столбец «Позиция»?
Одним из способов расчета ранга будет использование переменной, например:
select Userid, Points, @rank := @rank + 1 AS rank
from PointsTable, (select @rank := 0) r
order by Points desc;
Вот SQL Fiddle, который выполняет обновление одним способом.
(Спасибо Даниэлю Вассалло за идею поместить инициализацию в выборку!)